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.
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
- 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.
- 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.
- Facilidade de Uso: A API do PDO é simples e consistente, o que facilita o aprendizado e o uso.
- 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' => '[email protected]']);
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' => '[email protected]', '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:
Participe do nosso Discord para tirar dúvidas e ajudar outras pessoas!