sexta-feira, 21 de dezembro de 2012

PHP: Conexão e Manipulação de Banco de Dados (MySQL)

Esse é um tutorial muito comum, mas é sempre bom juntar tudo em um lugar somente. Hoje vamos ver como criar e manipular o banco de dados. O Banco de dados que estou usando é o MySQL, que é o mais usado. Vou explicar passo a passo, na ordem em que as coisas tem que ser feita.

1. Conexão
A primeira coisa que deve ser feita é a conexão com o banco de dados. Para isso, precisamos informar ao PHP, as informações sobre o banco. Para isso, usamos a função mysql_connect():


$conexao = mysql_connect($host, $usuario, $senha);

Sendo:
  • $host: o endereço do servidor do MySQL;
  • $usuario: é o nome de usuário usado para acessar o MySQL;
  • $senha: é a senha de acesso;
Essa função retorna uma ID para a conexão ou Falso caso houve uma falha.

Em seguida, temos que selecionar qual banco de dados que está armazenado no servidor é o que queremos. Para isso usamos a seguinte função:

 $sucesso = mysql_select_db($banco,$conexao);

onde:
  • $banco: é o nome do banco de dados;
  • $conexao: é a ID da conexão;
 Essa função retorna Verdadeiro caso houve sucesso na conexão e Falso caso contrário.

 E assim termina a fase de conexão.


2. Manipulação:
Aqui vou abordar os dois tipos de manipulação, as de consultas e as de ações. As de consultas, como o próprio nome diz, serve para buscar algum dado no banco. As de ações, são comandos que alteram o conteúdo dos dados, e basicamente são os comandos de inserção, exclusão e alteração.

Independente se é uma consulta ou uma ação, ambas são executadas pela seguinte função:

$resultado = mysql_query($sql, $conexao);

onde:
  • $sql: é o comando SQL que desejamos executar;
Caso o comando não seja executado, a função retorna Falso, mas é agora que vem a diferença entre os comandos de consulta e os comandos de ações: o comando de consulta vai retornar uma ID que contém uma lista de registros para pode ser consultados. Já os comandos de ação, vai retornar um valor Verdadeiro, apenas confirmando que o comando foi executado com sucesso. 

2.1 Consultas

As consultas são realizadas pelo comando "SELECT" do SQL. Não vou me aprofundar hoje nos comandos SQL, portanto estou assumindo que você já sabe, mas em breve, farei um tutorial com SQL.

Quando você realiza consultas, o PHP  tem função próprias para isso, como por exemplo, a função que conta quantos registros retornaram na lista:

mysql_num_rows($resultado)

onde:
  • $resultado: é o resultado passado pela função mysql_query();
Para percorrer os dados que retornaram, vamos usar a seguinte função:

$linha = mysql_fetch_array($resultado)

que retorna um array com o primeiro registro da lista. Para acessar os dados, podemos usar um índice numérico, cuja ordem é definido no comando SELECT ou, caso usou o "SELECT *", a ordem que está no banco de dados. Entretanto, também podemos usar o nome da coluna como índice, que vai retornar o mesmo valor. Por exemplo, temos o comando "SELECT codigo, nome, telefone FROM cliente", temos as seguintes possibilidades:

//Usando números como índice
$codigo = $linha[0];
$nome = $linha[1];
$telefone = $linha[2];

//Usando os nomes dos campos como índice
$codigo = $linha["codigo"];
$nome = $linha["nome"];
$telefone = $linha["telefone"];

 Entretanto, o resultado pode ter retornado vários registros. Como fazer para ler todos? Utilizamos uma estrutura de repetição, como:

while($linha = mysql_fetch_array($resultado)){
    //Seu código aqui
}

Cada vez que você usa o  mysql_fetch_array(), vai retornando o próximo item da lista. Quando acabar, ele retornará falso e sairá do loop. E dessa forma, ele vai agir como um if, seguindo adiante caso não tenha nenhum registro desde o começo.


 2.2 Ações
 Os comandos de ação são quaisquer outros que não retorna uma lista de dados, mas os mais usados quando se trata de PHP são: inserção de Dados (comando INSERT INTO), alteração de Dados (comando UPDATE) e exclusão de dados (comando DELETE).

Basicamente, os comandos de ações, depois que você executa o mysql_query(), apenas verifica se a execução foi um sucesso e dá um feedback para o usuário. Existem algumas funções específicas, como a contagem de dados afetados, que é:

mysql_affected_rows($resultado)

entretanto, nunca precisei utilizar esses comandos.

3. Fechar
Depois que o banco de dados foi manipulado, deve-se fechar a conexão como medida de segurança. Deixar uma conexão aberta depois que o script foi encerrado pode deixar a porta do banco de dados aberta se o servidor não foi bem configurado. Portanto, sempre feche a conexão usando a seguinte função:

mysql_close($conexao);

Bem pessoal, esse é o final do tutorial de banco de dados. Até a próxima.

Nenhum comentário:

Postar um comentário