Como conectar o PHP ao Mysql com PDO

Compartilhamentos

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.

>>Clique Aqui Para Conhecer o Mysqli<<

“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:

RECEBA CONTEÚDOS EXCLUSIVOS

Insira seu e-mail abaixo para receber de graça conteúdos exclusivos e atualizações do blog!

>>Clique Aqui Para Aprender a Orientação a Objetos com PHP<<

É 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:

<?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:

<?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.

<?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:

<?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:

Concluindo…

 

Se você gostou do tutorial ou ficou com alguma dúvida, basta colocar o seu comentário aqui abaixo e aproveitar o nosso suporte exclusivo.

No mais, um forte abraço, sucesso e até a próxima!

Sobre o Autor Wilker Costa

Estudante de computação e apaixonado por empreendedorismo. Desde cedo buscando sempre inovar e trazer as melhores soluções para seus clientes. Escreve regularmente sobre marketing digital e acredita que esse é o caminho para a liberdade financeira e para a construção de uma sociedade mais empreendedora!

Siga-me::
>