segunda-feira, 18 de dezembro de 2017

Como conectar o PHP ao Mysql com PDO

Resultado de imagem para phpmyadmin

Não sei se você sabe, mas a partir da versão 5.5 do PHP a função Mysql_* ficou totalmente obsoleta, ou seja, caiu em desuso. Essa mudança ocasionou na utilização em massa das alternativas Mysqli e PDO.
O Mysqli é uma extensão do próprio PHP e pode ser utilizada de forma procedural ou orientada a objetos, digamos que seja uma versão melhorada do Mysql. No artigo abaixo eu falo mais sobre isso e mostro como realizar uma conexão simples também com o PHP.
“Ah Wilker, qual devo utilizar então?”, Calma, nesse artigo eu explicarei o que é o PDO e mostrarei o porquê dessa classe ser um dos métodos mais recomendados para quem vai trabalhar com banco de dados em conjunto com o PHP.

O que é PDO?

PDO significa PHP Data Objects ou objetos de dados do PHP para os íntimos. Basicamente serve para realizar a conexão e facilitar o trabalho com banco de dados.
O interessante dessa classe (Sim, o PDO é uma classe) é que com algumas pequenas modificações, você pode mudar de gerenciador de banco de dados, sem precisar modificar todas as suas queries.
Algumas vantagens notáveis dessa classe são:
  • Código mais limpo e moderno;
  • Fácil migração para outros gerenciadores de banco de dados;
  • Segue o padrão de orientação a objetos, o que torna sua manutenção mais enxuta.
Em relação a orientação a objetos, vale lembrar que você precisará desse conhecimento para poder trabalhar com PDO, portanto, conhecimentos básicos de lógica serão necessários.
Segue um material que pode te ajudar nesse quesito:
É normal no inicio ficar um pouco intimidado com a sua utilização, até por que as pessoas que estão migrando do Mysql acharão o trabalho com a API um pouco difícil, e isso é normal, pois trabalhar com Mysql era muito fácil.

Como realizar a conexão ao banco de dados…

Bom, para realizar a conexão do Mysql com PDO é importante termos o nosso ambiente de desenvolvimento pronto.
No meu caso, estou utilizando o Wampserver e o Sublime Text como editor de texto. Vou mostrar exatamente o passo a passo que eu fiz.
Primeiro, eu criei um banco de dados via PHPMyadmin intitulado “test”. Esse banco servirá como teste para o nosso tutorial.
banco de dados mysql com pdo
Depois que realizar esse procedimento, você deve verificar se o PHP está com o PDO ativo, para isso, basta apenas informar no seu editor de texto o seguinte comando:
?
1
2
3
4
5
<?php
 
phpinfo();
 
?>
Vai aparecer uma tela muito similar a essa:
pdo funcionando no php
Basta apenas você rolar a página e verificar se o PDO está habilitado. Feito isso, começaremos a nossa codificação:
?
1
2
3
4
5
6
7
8
<?php
 
define('SERVER', 'localhost');
define('BANCO', 'test');
define('SENHA', '');
define('USER', 'root');
 
?>
No exemplo acima foram criadas três constantes que assumirão os valores padrões de conexão ao banco de dados “test”. A primeira diz respeito ao servidor utilizado (no nosso caso o localhost), o nome do banco (test), a senha de acesso e o usuário. Até agora tudo muito parecido com o tutorial de conexão com Mysql utilizando a função nativa do PHP.
Agora sim, iremos realizar a conexão através do construtor da classe PDO. Ou seja, iremos apenas repassar os valores informados nas constantes.
?
1
2
3
4
5
6
7
8
9
10
<?php
 
define('SERVER', 'localhost');
define('BANCO', 'test');
define('SENHA', '');
define('USER', 'root');
 
$con = new pdo('mysql:host=' . SERVER . ';dbname=' . BANCO, USER, SENHA);
 
?>
No exemplo acima, instanciamos a classe PDO e como parâmetro passamos os valores necessários para fazer a conexão funcionar.
OBS: Nessa parte ‘mysql:host’ determinamos o driver do gerenciador de banco de dados a ser utilizado, no nosso caso o Mysql. Caso queira mudar de gerenciador, basta apenas informar o novo no lugar do Mysql.
Depois de realizado todo esse procedimento, a conexão já estará funcionando, caso contrário aparecerá um erro fatal na tela do seu navegador. A esse erro damos o nome de exceção, ou seja, caso a mesma surja, o funcionamento da aplicação será interrompido.
Para evitarmos essa interrupção, devemos colocar um try catch para tratar a exceção PDO Exception. Voltando ao código:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
 
define('SERVER', 'localhost');
define('BANCO', 'test');
define('SENHA', '');
define('USER', 'root');
 
try{
 
$con = new pdo('mysql:host=' . SERVER . ';dbname=' . BANCO, USER, SENHA);
 
}catch(PDOException $e){
echo "Erro gerado " . $e->getMessage();
}
 
 
 
?>
O acréscimo do Try…Catch tornará sua aplicação mais robusta e preparada contra erros inesperados. Veja uma explicação breve dos comandos utilizados no tratamento das exceções:
  • PDOException $e = Armazenamento da exceção dentro da variável $e;
  • getMessage() = Esse método serve para retornar a mensagem da exceção como uma string, logo quando eu dou o print com o “echo”, estarei automaticamente imprimindo na tela a mensagem de erro.
Feito isso, a conexão Mysql com PDO estará terminada e funcionando perfeitamente bem. Para enriquecer ainda mais o nosso tutorial, eu gravei um vídeo exclusivo mostrando todo o passo a passo visto até aqui, dar uma olhada:



Nenhum comentário:

Postar um comentário