Você está na página 1de 3

Pagina de busca simples em PHP com PDO e MySQL usando um formulário

Hoje vamos ver como criar uma página de busca simples com PDO e MySQL. Esta página
retornará os e-mails de amigos pesquisando-se parte do nome num campo de busca em um
formulário; é bem simples. Vamos aos passos:

OBS: Este texto pressupõe que a extensão PDO já esteja instalada corretamente.
O primeiro passo é criar no banco de dados uma tabela bem simples, inicialmente apenas com os
campos: id, nome e email, para facilitar. O código para criação dessa tabela segue abaixo (a tabela
se chamará “amigos”, sem aspas):

CREATE TABLE `amigos` (


`id` int(10) unsigned NOT NULL auto_increment,
`nome` varchar(50) NOT NULL default '',
`email` varchar(50) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Insira alguns registros para teste. Ex;

Agora abra seu editor, crie uma nova página e digite (ou copie e cole) o seguinte código p/ criar a
conexão ao MySQL:

<?php
try {
$con = new PDO('mysql:host=XXX;dbname=XXX', 'root', 'XXX');
} catch (PDOException $e) {
print $e->getMessage();
}
?>

Substitua, acima, os triplos X (“XXX”), pelo caminho do banco de dados (se estiver em seu
computador, normalmente é “localhost” sem aspas), nome do banco e senha (se for o caso, substitua
também root pelo nome do usuário).

Agora insira as linhas abaixo para criar um formulário simples de pesquisa em HTML:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>pesquisa simples com PDO</title>
</head>

<body>

<h2>Pesquisa simples com PDO


</h2>
<p>

<form name="form1" method="post" action="">


<label>
<input name="cxnome" type="text" id="cxnome" value="" size="30">
</label>
<label></label>

<label>
&nbsp;&nbsp;
<input type="submit" name="pesquisar" value="Pesquisar">
</label>
&nbsp;
<label>
<input type="reset" name="Submit2" value="Limpar">
</label>
</form>

Agora vamos inserir o código PHP-PDO. Veja que a pesquisa só retorna resultados se o campo de
busca não estiver em branco (linha 2) e incluímos um total de registros encontrados (linhas 9 a 11):

1. <?php

2. if(isset($_POST['pesquisar'])&&!empty($_POST['cxnome']))
3. {
4. $nome=$_POST['cxnome'];
5. $stmt = $con->prepare("select * from amigos where nome like :letra");
6. $stmt->bindValue(':letra', '%'.$nome.'%', PDO::PARAM_STR);
7. $stmt->execute();
8. $resultados = $stmt->rowCount();

9.if($resultados>=1){

10.echo "Resultado(s) encontrado(s): ".$resultados."<br /><br />";


11.while($reg = $stmt->fetch(PDO::FETCH_OBJ))
12.{
13.echo $reg->nome." - ";
14.echo $reg->email."<br />";
15.}
16.}
17.else
18.{
19.echo "Não existe usuario cadastrado";
20.}
21.}
22.else{
23.echo "Preencha o campo de pesquisa";
24.}
25.?>

Vamos fechar o código HTML aberto acima:

</body>
</html>

Teste a pg no navegador; dê um “trato” no visual e sua página de pesquisa com PDO está pronta:

Você também pode gostar