uma tabela, INSERT INTO para cadastrar dados em uma tabela, SELECT para bus-
car os dados da tabela e também filtramos os resultados do SELECT usando WHERE
e LIKE.
6.9
Desafios
Hora de alguns desafios, dessa vez voltados para bancos de dados e para a linguagem
SQL:
Faça mais testes com o SELECT, o WHERE e o LIKE usando o banco tarefas.
63
6.9. Desafios
Casa do Código
Crie um banco chamado contatos para guardar os dados dos contatos do
desafio
iniciado nos desafios anteriores. Qual tabela será necessária para este
banco? Quais campos serão necessários para cadastrar os dados que já estão
sendo capturados pelo formulário? Não se esqueça de deixar um campo id
para guardar a chave que identificará um contato como único, assim como foi
feito para as tarefas.
Crie um banco chamado estacionamento para cadastrar os veículos esta-
cionados. Neste banco crie uma tabela chamada veiculos com os campos
id, placa, marca, modelo, hora_entrada e hora_saida. Decida
os tipos de dados que devem ser usados para cada campo. Cadastre alguns
veículos e tente fazer pesquisas, como buscar todos os veículos de uma marca.
64
Capítulo 7
Integrando PHP com MySQL
No capítulo anterior, criamos o banco de dados e uma tabela para guardar os regis-
tros de nossas tarefas. Além disso, inserimos algumas tarefas no banco e usamos as
buscas da linguagem SQL para selecionar as tarefas no banco e filtrar pelo nome e
pela prioridade. Neste capítulo, iremos finalmente conectar o PHP ao MySQL! Como
já temos a aplicação pronta, mas usando sessões, e o banco pronto, nossa tarefa será
menos complexa, pois teremos que alterar apenas algumas partes da aplicação.
7.1
PHP e MySQL
PHP e MySQL já são velhos amigos. É bem comum encontrar aplicações que fazem
uso destas tecnologias em conjunto. Desde pequenos sites pessoais, até grandes sis-
temas de gestão e lojas virtuais, a web está repleta de casos de sucesso desta parceria.
O que torna esta parceria tão forte e estável é uma combinação de fatores, como
o fato de o MySQL ser um banco fácil de aprender, leve e rápido, o PHP ser fácil
e flexível e ambos possuírem licenças permissivas para uso pessoal, comercial e em
projetos de software livre.
7.2. Conectando ao MySQL
Casa do Código
PHP torna simples o uso do MySQL através de funções que conectam, executam
código SQL e trazem os resultados para a aplicação. E é exatamente isso que faremos
agora!
7.2
Conectando ao MySQL
Primeiro, vamos fazer a parte mais simples, que é conectar ao banco e buscar os
dados que estão cadastrados nele.
O primeiro passo para realizar a conexão com o MySQL é criar um usuário no
MySQL para que o PHP possa se autenticar. Este é um passo importante e ajuda
a manter o banco de dados mais seguro. É como aquele usuário e senha que você
precisa digitar quando liga o computador, ou quando vai acessar seu e-mail ou ainda
o seu perfil em uma rede social.
Para criar o usuário no MySQL, acesse o PHPMyAdmin e selecione o banco
tarefas e, estando nele, use a opção Privilégios no menu superior. Na página
que abrir, clique na opção Adicionar usuário uma janela abrirá pedindo os
dados do novo usuário. Eu preenchi os campos conforme a imagem a seguir:
Figura 7.1: Criação de usuário no MySQL
No campo novo usuário informei sistematarefa, na senha digitei sistema e con-
firmei, depois cliquei no botão Adicionar usuário.
66
Casa do Código
Capítulo 7. Integrando PHP com MySQL
Após a adição do usuário, teremos um usuário chamado sistematarefa com a
senha sistema. Estes são os valores que informaremos ao PHP.
Agora vamos criar um novo arquivo para fazer a conexão com o banco. Ele será
gravado na mesma pasta dos arquivos da lista de tarefa, ou seja a pasta tarefas, e
seu nome será banco.php:
<?php
$bdServidor = '127.0.0.1';
$bdUsuario = 'sistematarefa';
$bdSenha = 'sistema';
$bdBanco = 'tarefas';
$conexao = mysqli_connect($bdServidor, $bdUsuario, $bdSenha, $bdBanco);
if (mysqli_connect_errno($conexao)) {
echo "Problemas para conectar no banco. Verifique os dados!";
die();
}
No arquivo, estamos criando quatro variáveis que guardam o endereço do servi-
dor MySQL (que é a nossa máquina), o nome de usuário, a senha de acesso e o nome
do banco que queremos acessar. É legal manter estes dados em variáveis, pois se for
necessário alterar, alteramos apenas a criação da variável, sem ter que procurar onde
ela está sendo usada.
Repare que no código do arquivo banco.php existem apenas duas funções que
não usamos até
agora. A função mysqli_connect() recebe os dados de conexão
com o banco e abre a conexão. Esta conexão é guardada na variável $conexao e
vamos precisar desta variável sempre que formos interagir com o banco. A outra
função é a mysqli_connect_errno() que pega uma conexão e verifica se houve
erros de conexão. Neste caso, a função está dentro de um if, para verificar se houve
erros ou não. Ah, tem mais uma função nova ali, a função die(), que faz o que
o nome diz: ela mata o programa ali mesmo, sem ler o código que existe mais para