Desenvolvimento - PHP

Funções de comunicação com banco de dados MySQL no PHP

Veja neste artigo como funcionam algumas funções de conexão com bases de dados MySQL no PHP.

por Rafael Silva



Uma das grandes características do PHP é facilidade para conexões com banco de dados. Atualmente, existem “N” formas de se conectar aos bancos de dados. A maneira mais simples é utilizando as famosas funções “mysql_”, onde a partir do “_” você informa o que deseja fazer, por exemplo, conectar, ficando “mysql_connect”. Claro que parto do ponto que será utilizado o banco de dados MySQL.

É importante salientar que existem formas mais robustas de conexões, essas orientadas a objetos. Como neste artigo o objetivo é explicar de forma simples as conexões no PHP, manterei o foco em apenas explicar a primeira opção (dita no inicio do artigo). Na tabela a seguir, você confere algumas funções para trabalhar com mysql no PHP.

Função Descrição
mysql_connect ([ string $server [, string $username [, string $password [, bool $new_link [, int $client_flags ]]]]] ) Esta função abre uma conexão com o servidor MySQL, não sendo necessário (ainda) especificar qual banco você deseja utilizar. Mas, é necessário informar alguns parâmetros importante, como o endereço do servidor, usuário e senha. Veja um exemplo na Listagem 1.
mysql_select_db ( string $database_name [, resource $ link_identifier ] ) Esta função deve ser utilizada para informar qual o banco de dados você irá utilizar. Para utilizar a mesma é necessário utilizar em conjunto a função mysql_connect. Veja um exemplo na Listagem 2.
mysql_query ( string $query [, resource $link_identifier ] ) Utilizada para executar comandos SQL no banco de dados MySQL. Na mesma você deve informar o comando SQL. Veja um exemplo na Listagem 4.
mysql_fetch_array ( resource $result [, int $result_type ] ) No PHP não existem os famosos datasets, aqui você pode utilizar arrays em seu lugar. Então, sempre que sua query retornar um resultado, basta utilizar esta função para exibir os mesmos. Veja um exemplo na Listagem 6.

Listagem 1: Função MySQL Connect

<?php
$conn = mysql_connect(“localhost”, “root”, “123”);
?>

Observando a Listagem 1 é possível notar que é criada uma variável chamada “conn” que recebe a função mysql_connect, onde são passados os devidos parâmetros (já explicado anteriormente). Caso algum dos valores esteja errado, o PHP irá mostrar na tela os devidos erros.

Listagem 2: Função MySQL Select Db

<?php
$conn = mysql_connect(“localhost”, “root”, “123”);
$db = mysql_select_db(“dados”);
?>

Na Listagem 2 temos as duas funções, a mysql_connect e mysql_select_db. Mas, se analisarmos, é possível notar que não existe uma junção entre as duas, ou seja, elas não estão ligadas. De qualquer forma, teríamos êxito ao executar o código e, inclusive, ele iria realizar a conexão com o banco de dados. O PHP possui uma formula bem interessante, que automaticamente tenta utilizar o banco de dados “dados” com base na ultima conexão realizada, que neste caso, foi ao servidor localhost. Assim, não é preciso referenciar nada. Agora, se você realiza múltiplas conexões em diferentes servidores, pode ser que não tenha êxito na execução. Para garantir que o banco selecionado será de uma conexão X, é possível criá-la com base na Listagem 3.

Listagem 3: Função MySQL Select Db referenciado a conexão

<?php
$conn = mysql_connect(“localhost”, “root”, “123”);
$db = mysql_select_db(“dados”, $conn);
?>

Note que na Listagem 3 é referenciado na mysql_select_db a que conexão a mesma será referenciada, através da variável “$conn”.

Listagem 4: Função MySQL Query

<?php
$conn = mysql_connect(“localhost”, “root”, “123”);
$db = mysql_select_db(“dados”, $conn);
$query = mysql_query(“SELECT * FROM clientes”);
?>

Note também que na Listagem 4 foi criado uma variável chamada $query que recebe a função mysql_query, onde é informado qual comando SQL desejamos executar. Aqui segue o mesmo exemplo da função mysql_select_db, onde não foi informado com que conexão isso será executado, mas também podemos fazê-lo conforme mostra a Listagem 5.

Listagem 5: Função MySQL Query

<?php
$conn = mysql_connect(“localhost”, “root”, “123”);
$db = mysql_select_db(“dados”, $conn);
$query = mysql_query(“SELECT * FROM clientes”, $conn);
?>

Na Listagem 5 foi referenciada a variável $conn na função mysql_query.

Listagem 6: Função MySQL Fetch Array

<?php
$conn = mysql_connect(“localhost”, “root”, “123”);
$db = mysql_select_db(“dados”, $conn);
$query = mysql_query(“SELECT * FROM clientes”, $conn);
$dados = mysql_fetch_array($query);
echo $dados[“id”];
echo “<br/>”;
echo $dados[“nome”];
echo “<br/>”;
echo $dados[“email”];
?>

Na Listagem 6 é invocada a função mysql_fetch_array, onde é informada a variável $query, responsável por ter executado nosso comando SQL no banco de dados. Desta forma, a variável $dados possui os registros em forma de array. Por fim, os dados são exibidos na página, onde entre colchetes é informado o nome do campo a ser exibido. Caso fosse necessário exibir todos os registros da query, bastaria você realizar um loop, como mostra a Listagem 7.

Listagem 7: Função MySQL Fetch Array com LOOP

<?php
$conn = mysql_connect(“localhost”, “root”, “123”);
$db = mysql_select_db(“dados”, $conn);
$query = mysql_query(“SELECT * FROM clientes”, $conn);
while(mysql_fetch_array($query)){
echo $dados[“id”];
echo “<br/>”;
echo $dados[“nome”];
echo “<br/>”;
echo $dados[“email”];
}
?>

Analisando a Listagem 7 é possível perceber que só foi utilizado (a mais) o comando while do PHP.

Conclusão

Neste artigo foi possível perceber a facilidade de se trabalhar com conexões com o banco de dados MySQL no PHP. Como sugestão, fica o estudo de outras bibliotecas, como a MySQLI e a PDO, ambas também nativas da linguagem.

Rafael Silva

Rafael Silva - Editor geral das revistas .NET Magazine e Easy NET Magazine. Especialista nas plataformas .NET, Java, PHP, Android, Iphone/Ipad, Delphi e Banco de dados, já tendo realizado projetos para as principais empresas do Brasil e do exterior. Para outras informações acesse o site http://www.rlsystem.com.br.