Neste artigo do Guia de PHP vou mostrar como fazer uma conexão ao banco de dados MySQL. Depois de ter passado por 8 artigos que mostram as características básicas do PHP, vamos começar agora a entrar na programação mais elaborada.

Para este tutorial também não se expandir muito, vamos aprender apenas a conectar ao banco de dados, no próximo, falaremos sobre como inserir, alterar e excluir dados das tabelas.

Lembrando que ao instalar nosso ambiente de funcionamento PHP, instalamos um banco de dados MySQL, é nele que trabalharemos. Se você não fez a instalação e usa o PHP de um servidor on-line, certamente este também possui um servidor de banco de dados MySQL, no qual você poderá trabalhar sem problemas, basta saber se existe um banco de dados criado em sua conta.

Passo 1 - Criar o banco de dados:

Para criarmos um banco de dados, precisamos usar um gerenciador de banco de dados, SGBD (sistema de gerenciamento de banco de dados), em nosso artigo sobre o ambiente, instalamos o PHPMyAdmin, que é um gerenciador baseado em PHP para administrar o banco de dados MySQL. Este por sua vez, é largamente usado em quase 100% dos servidores.

Além do PHPMyAmin, podemos usar SGBD instalados em nosso computador, como o MySQL Front, SQLyog, SQLAdmin, Sequel Pro, entre outros.

Abrindo o PHPMyAmin:

Para abrir o PHPMyAdmin acesse:

  • WAMP: localhost/phpmyadmin
  • MAMP: localhost/MAMP/phpmyadmin
  • LAMP: localhost/phpmyadmin
  • SERVIDOR ONLINE: Consulte sua hospedagem

Depois de aberto, a tela inicial é esta:

Como conectar ao banco de dados MySQL com PHP

Onde:

  1. Lista dos bancos de dados já criados
  2. Aba onde mostra os bancos de dados já criados e possibilita a criação de novos. Clique sobre o item 2.

Ao clicar sobre a aba Databases, você abrirá a tela abaixo:

Como conectar ao banco de dados MySQL com PHP

Esta tela mostra as bases já criadas, e deixa disponível uma opção para criar novos bancos de dados. No campo atachado, você deve digitar o nome do banco de dados, ao lado no campo Collation, se refere ao tipo de linguagem e de dados que esta tabela vai conter, se você não escolher nada, como no exemplo acima, o sistema vai pegar o tipo padrão do banco de dados, o que é aconselhável. Depois de preenchido o nome, basta clicar no botão Create.

Imediatamente após criado o banco de dados, ele já estará disponível na barra lateral esquerda, conforme tela abaixo:

Como conectar ao banco de dados MySQL com PHP

Agora sim, temos o banco de dados já criado, basta clicar sobre o nome dele para abrirmos.

Passo 2 - Criando uma tabela no banco de dados criado:

Depois de criar o BD, agora é necessário criar uma tabela neste banco de dados. A tabela é o local onde os registros ficarão armazenados. Cada BD pode ter uma ou mais tabelas. Para criar uma tabela, já estará o formulário na tela atual:

Como conectar ao banco de dados MySQL com PHP

Basta preencher o nome da tabela, que no caso eu usei: tabela_teste, no segundo campo, precisamos preencher o número de colunas que esta tabela terá. Que serão os nomes dos campos da tabela. Neste caso coloquei 2, por que quero ter o campo chamado: ID e DESCRICAO. E então aperte o botão GO na direita.

Veja como foram criados os dois campos:

Como conectar ao banco de dados MySQL com PHP

ID é um campo de números, por isto o tipo (type) é INT. O tamanho do campo (Lenght) é 11, ou seja, pode ter um número com até 11 algarismos, exemplo: 11111111111.

Na imagem acima não aparece, mas existem um campo do tipo checkbox (check) com o nome de A_I, ou seja, AUTO INCREMENT. No campo id é preciso marcar ele, este AUTO INCREMENT funciona assim: quando um novo registro for inserido na tabela, o banco de dados automaticamente vai crescer este número, ou seja, se o último valor inserido for 14, quando for acionado um novo INSERT, o próximo registro passa a ser ID 15 e assim por diante.

O campo DESCRIÇÃO, colocamos do tipo VARCHAR, ou seja, CARACTER VARIÁVEL, de tamanho 200. Veremos mais adiante, os tipos de dados do banco, quando fizermos otimização de BD.

Bom, depois de inseridos os campos e configurados, basta apertar sobre o botão SAVE. Depois de salvo, a imagem abaixo irá aparecer, confirmando a inserção desta tabela e mostrando a tabela inserida:

Como conectar ao banco de dados MySQL com PHP

Passo 3 - Criar registros na tabela

Certo, agora que já criamos o banco de dados e já criamos uma tabela, vamos inserir pelo menos dois registros na tabela para depois usá-los no código. Para isto basta clicar sobre a aba INSERT no PHPMyAdmin. Ao clicar, vai abrir uma tela com possibilidade de inserir dois registros. Você precisa preencher apenas a descrição destes dois registros, pois o campo ID é AUTO INCREMENTO, como falamos acima, veja a tela abaixo:

Como conectar ao banco de dados MySQL com PHP

Depois de inserir as descrições nos campos, aperte sobre o botão GO abaixo de ambos, que esta atachado. Feito isto, terá uma tela de confirmação de registro. Agora aperte na aba Browse, nela veremos os dois registros devidamente inseridos, conforme tela abaixo:

Como conectar ao banco de dados MySQL com PHP

Agora que temos o banco de dados, temos a tabela e já inserimos dois registros nela, a parte 1 de nosso tutorial está completa. Passamos agora para o código PHP.

Passo 4 - Criando o arquivo de conexão:

No quarto passo vamos criar o arquivo de conexão ao BD, para isto usaremos duas funções nativas do PHP, chamadas de mysql_connect() e mysql_select_db(). Veja o código abaixo:


$servidor = 'localhost';
$banco = 'guiaphp';
$usuario = 'root';
$senha = 'root';
$link = mysql_connect($servidor, $usuario, $senha);
$db = mysql_select_db($banco,$link);
if(!$link)
{
echo "erro ao conectar ao banco de dados!";exit();
}

As 4 primeiras linhas delimitamos os nomes das variáveis, qual servidor usaremos, qual o nome do banco de dados, o nome de usuário e a senha de usuário.

Depois usamos a função mysql_connect(), que tem como parâmetros: o servidor, usuário e senha. Uma vez conectado ao servidor, precisamos escolher qual banco de dados vamos trabalhar, aí que entra a função mysql_select_db(), cujos parâmetros são: nome do banco de dados e link da conexão do servidor, este link é a variável de saída da função mysql_connect().

Com a variável $link definida, podemos fazer um teste usando o IF, se der falso, a conexão com o servidor falhou.

Passo 5 - Selecionando dados da tabela

Depois de tudo que já fizemos, está na hora de pela primeira vez selecionar algum dado registrados nas tabelas. Para isto precisamos usar um comando chamado SELECT que é originário das linguagens SQL. Vou mostrar o comando mais simples possível, nos próximos itens do guia vamos desbravar a quantidade de códigos SQL existentes.

Para fazer o SELECT, precisamos usar a função mysql_query() do PHP, dando prosseguimento ao código acima usado, ou seja, precisamos estar conectados ao servidor e ao banco de dados que utilizaremos para somente então poder selecionar dados da tabela. Confira o código abaixo:


$servidor = 'localhost';
$banco = 'guiaphp';
$usuario = 'root';
$senha = 'root';
$link = mysql_connect($servidor, $usuario, $senha);
$db = mysql_select_db($banco,$link);
if(!$link)
{
echo "erro ao conectar ao banco de dados!";exit();
}

$SQL = "SELECT * FROM tabela_teste";
$RS = mysql_query($SQL);
while($RF = mysql_fetch_array($RS))
{
echo '<pre>';
print_r($RF);
echo '</pre>';
}

/*
RESULTADO:
Array
(
[0] => 1
[id] => 1
[1] => registro 1
[descricao] => registro 1
)
Array
(
[0] => 2
[id] => 2
[1] => registro 2 para teste
[descricao] => registro 2 para teste
)
*/

Como pode ver, usamos o mesmo código para conectar ao banco de dados. Para fazer o SELECT, usamos a função mysql_query(), cujo parâmetro necessário é o comando SQL que vamos usar. Neste caso, usamos o comando: SELECT * FROM tabela_teste. Que se lê da seguinte maneira:

Selecione (SELECT) tudo (*) da (FROM) tabela_teste

Este comando vai retornar todos os registros e todos os campos da tabela_teste. Depois disto, usamos a função mysql_fetch_array() em laço WHILE. Esta função precisa usar um laço pois ela retorna em um ARRAY cada uma das linhas, assim cada laço do WHILE é um item da tabela. Como inserimos 2 registros na tabela, o WHILE fará obviamente 2 laços.

Dentro do while, usei um comando print_r() para mostrar o que o array $RF recebe da função mysql_fetch_array(). Pode ver no resultado tudo que retornou no array.

Nos próximos artigos vamos elaborar mais como funcionam os SELECTS e como manipular os registros do banco de dados.

Qualquer dúvida comente abaixo.

Arquivos do projeto:

Como conectar ao banco de dados MySQL com PHP