PDO — CONEXÃO COM BANCO DE DADOS

Guilherme Donizetti
4 min readDec 27, 2021

--

Olá, :-)

Quando usamos a linguagem PHP em nossos projetos, em mais ou em menos tempo vamos precisar de usar também algum banco de dados. Bancos de Dados são sempre um software à parte ao que estamos desenvolvendo, mas que queremos conectar as duas coisas, com isso existem diferentes formas de realizar essa conexão. Neste artigo vou apresentar sobre o PDO, uma técnica simples e eficiente de conectar aplicações que utilizam PHP a um banco de dados!

PDO — PHP Data Objects

PHP Data Objects, ou para os mais chegados PDO, é um módulo para conexão com banco de dados e está presente na linguagem PHP desde a versão 5. Um dos pontos fortes desse recurso é que ele oferece uma camada de abstração de acesso aos dados, desse modo vamos usar sempre as mesmas funções para as consultas independente do banco que estamos utilizando. Interessante isso, não?

Conexão com o BD

Para criarmos uma conexão com o BD, precisamos que ele já esteja criado. O código abaixo cria um banco de dados simples que vamos usar no exemplo nesse artigo:

O código acima cria um banco chamado geografia e em seguida cria uma tabela chamada cidades que será onde vamos inserir alguns dados através do PDO. O código pode ser executado no MySQL Workbench, no console do PHPMyAdmin ou você pode criar em qualquer outro lugar!

Agora vamos criar o código PHP que faz a conexão com o banco, veja como é simples:

Primeiro criamos as variáveis com os valores válidos. Caso o seu banco de dados esteja protegido com senha, é necessário informar a sua senha na variável. Em seguida instanciamos a classe PDO e agora podemos usar a variável $conexao para fazer as interações com o BD. Esse código deve ser salvo em um arquivo .php, sugiro o nome conexao_pdo.php.

Inserir dados

Vamos por fim criar o código em PHP que faz a inserção de dados, salve o código em um arquivo na mesma pasta que salvou o arquivo anterior:

Na linha 3 existe o include do arquivo .PHP que criamos a variável de conexão, a vantagem de criar em arquivo separado e fazer o include é que se a gente criar mais arquivos não precisamos repetir o código, apenas fazer o include. Em seguida, temos as variáveis com os valores definidos, mas na realidade provavelmente esses valores viriam através de um $_POST por exemplo.

Dentro do try vamos tentar realizar o que queremos: Na variável $sql passamos a sintaxe correta para inserir dados no banco e na variável $stmt preparamos a variável $sql para ser usada.

Prepare: Prepara uma instrução para execução e retorna um objeto. Prepara uma instrução SQL a ser executada pelo método execute().

Com a variável $stmt pronta vamos vincular as variáveis à nossa declaração SQL. O bindParam serve para associar uma variável à uma posição, ou seja, como a variável “nome” deve ser a primeira, o bindParam iniciou com o número 1 e assim sucessivamente. Também informei no bindParam um terceiro parâmetro que é o PDO::PARAM_STR, isso se refere ao tipo do dado que estou vinculando e serve como um reforço na segurança da aplicação, mas não é obrigatório e sem ele a conexão funcionaria normalmente.

Simples, não é?

Na linha 17 fazemos a execução dos comando anteriores e verificamos se executou corretamente. Se não quiser verificar se tudo correu bem, não precisa fazer esse comando dentro do IF, porém é nesse comando que de fato executamos a gravação dos dados, ou seja, jamais esqueça de fazer o comando execute();

Repita comigo: execute(), execute(), execute(). Agora não esquece mais!!

Erros comuns

Já podemos observar que o PDO é bem relacional e os erros mais comuns estão associados a erros nos relacionamentos:

  1. Se na declaração SQL existem 5 pontos de interrogação, o programa espera receber 5 parâmetros. Nada mais e nada menos!
  2. O bindParam é sequencial, então nada de fazer bindParam(3, …) bindParam(2, …). Primeiro o 2 e depois o 3.
  3. PDO::PARAM_STR não é obrigatório, mas se usar precisa ser o tipo adequado, existem PARAM_STR, PARAM_INT, etc.

Conclusão

O PDO pode inicialmente parecer mais verboso que as outras formas possíveis de se conectar ao BD, porém ele é o que possui a sintaxe mais elegante e explícita, permitindo as nossas aplicações serem compatíveis a um número maior de BD.

Agora já podemos avançar para Inserir, Selecionar, Atualizar e Deletar registros no banco de dados usando PDO, fica como dica de estudo! Abraços.

--

--

Guilherme Donizetti

Programador. Graduado em ADS. Pós em IA e M. Learning. AI-900 Certified. CyberOps Associate - CISCO. Bolsista PIBITI/CNPq-CPS. Membro DevProgram Mercado Pago.