Introdução ao PDO (PHP Data Objects)

Introdução

O PHP Data Objects (PDO) é uma extensão poderosa que fornece uma interface leve e consistente para acessar bancos de dados em PHP. Diferente de MySQLi, que é específico para MySQL, o PDO permite conectar-se a vários bancos de dados, como MySQL, PostgreSQL, SQLite, entre outros. Neste artigo, vamos explorar o que é PDO, como usá-lo para conectar a diferentes bancos de dados, e os benefícios de utilizá-lo. Vamos também fornecer exemplos práticos de uso.

Tutorial de PHP Básico
Tutorial de PHP Básico

O que é PDO?

PDO é uma extensão de PHP que define uma interface para acesso a bases de dados. Ele oferece uma maneira segura e eficiente de interagir com bancos de dados, suportando diversas funcionalidades, como prepared statements e transações, que ajudam a evitar injeção de SQL e melhorar a segurança da aplicação.

Benefícios do PDO sobre MySQLi

  1. Compatibilidade com Vários Bancos de Dados: PDO suporta 12 diferentes bancos de dados, incluindo MySQL, PostgreSQL, SQLite, e muitos outros, tornando seu código mais flexível e portátil.
  2. Segurança: PDO oferece suporte a prepared statements, que ajudam a prevenir ataques de injeção de SQL, uma das vulnerabilidades mais comuns em aplicações web.
  3. Facilidade de Uso: A API do PDO é simples e consistente, o que facilita o aprendizado e o uso.
  4. Transações: PDO suporta transações, permitindo que você execute múltiplas operações de banco de dados de forma segura e atômica.

Conectando ao Banco de Dados com PDO

Vamos ver como conectar a um banco de dados MySQL usando PDO. Primeiro, você precisa criar uma instância da classe PDO e fornecer os detalhes da conexão.

Exemplo de Conexão

<?php
$dsn = 'mysql:host=localhost;dbname=meu_banco';
$username = 'usuario';
$password = 'senha';

try {
    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Conectado com sucesso";
} catch (PDOException $e) {
    echo "Erro na conexão: " . $e->getMessage();
}
?>

Neste exemplo, substitua localhost, meu_banco, usuario e senha pelos detalhes da sua configuração. O código cria uma nova instância do PDO e define o modo de erro para exceções.

Executando Consultas com PDO

Depois de estabelecer a conexão, você pode executar consultas SQL. Vamos explorar como executar consultas SELECT, INSERT, UPDATE e DELETE usando PDO.

Consulta SELECT

A consulta SELECT é usada para recuperar dados do banco de dados.

<?php
$sql = "SELECT id, nome, email FROM usuarios";
$stmt = $pdo->query($sql);

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo "ID: " . $row['id'] . " - Nome: " . $row['nome'] . " - Email: " . $row['email'] . "<br>";
}
?>

Neste exemplo, executamos uma consulta SELECT para recuperar dados da tabela usuarios e exibimos os resultados.

Consulta INSERT

A consulta INSERT é usada para adicionar novos registros ao banco de dados.

<?php
$sql = "INSERT INTO usuarios (nome, email) VALUES (:nome, :email)";
$stmt = $pdo->prepare($sql);
$stmt->execute(['nome' => 'Joao', 'email' => 'joao@example.com']);
echo "Novo registro criado com sucesso";
?>

Este código insere um novo registro na tabela usuarios usando parâmetros nomeados, o que ajuda a prevenir injeção de SQL.

Consulta UPDATE

A consulta UPDATE é usada para modificar registros existentes no banco de dados.

<?php
$sql = "UPDATE usuarios SET email = :email WHERE nome = :nome";
$stmt = $pdo->prepare($sql);
$stmt->execute(['email' => 'joao.novo@example.com', 'nome' => 'Joao']);
echo "Registro atualizado com sucesso";
?>

Neste exemplo, atualizamos o email do usuário com o nome “Joao” usando uma consulta preparada.

Consulta DELETE

A consulta DELETE é usada para remover registros do banco de dados.

<?php
$sql = "DELETE FROM usuarios WHERE nome = :nome";
$stmt = $pdo->prepare($sql);
$stmt->execute(['nome' => 'Joao']);
echo "Registro deletado com sucesso";
?>

Este código exclui o registro do usuário com o nome “Joao” da tabela usuarios.

Conclusão

O PDO é uma extensão poderosa e flexível para acessar bancos de dados em PHP. Ele oferece suporte a múltiplos bancos de dados, segurança aprimorada através de prepared statements, e uma API consistente e fácil de usar. Com os exemplos práticos fornecidos neste artigo, você pode começar a usar PDO em seus projetos PHP e aproveitar seus benefícios para criar aplicações web mais seguras e robustas.

Gostou do conteúdo?

Apoie-nos: Siga, Curta, Comente e Compartilhe!

Conecte-se com a WebMundi:

YouTube

Facebook

Instagram

LinkedIn

TikTok

Participe do nosso Discord para tirar dúvidas e ajudar outras pessoas!

Discord webmundi.com

Posts Similares