0Pricing
PHP Academy · Aula

Trabalhando com PDO

Use Objetos de Dados do PHP (PDO) para interagir com bancos de dados

Trabalhando com PDO é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 6 de 6. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 6 aulas no total.

Visão geral do PDO

Trabalhando com PDO

Boas-vindas à próxima lição! Nesta lição, você aprenderá a usar o PDO (Objetos de Dados do PHP) para interagir com bancos de dados. O PDO é uma forma flexível e segura de conectar-se a bancos de dados e trabalhar com eles. Vamos começar!

Trabalhando com PDO — ilustração 1

O que é PDO?

O que é PDO?

O PDO (Objetos de Dados do PHP) é uma camada de acesso a bancos de dados que fornece uma interface uniforme para trabalhar com diferentes sistemas de banco de dados. Ele é compatível com diversos bancos de dados, como MySQL, PostgreSQL, SQLite e outros.

Principais recursos:

  • Independência de banco de dados (funciona com vários tipos de banco de dados).
  • Suporte integrado a instruções preparadas.
  • Opções avançadas de tratamento de erros.

Dica: O PDO é uma ótima opção para criar aplicativos web seguros e escaláveis.

Conectando-se a um banco de dados com PDO

Conectando-se a um banco de dados com PDO

Para conectar-se a um banco de dados usando PDO, você precisa de:

  • O nome da fonte de dados (DSN), incluindo o tipo, o servidor e o nome do banco de dados.
  • Um nome de usuário e uma senha válidos.

Exemplo:

Dica: Use variáveis de ambiente ou arquivos de configuração para armazenar credenciais confidenciais.

<?php
  $dsn = "mysql:host=localhost;dbname=testdb";
  $username = "root";
  $password = "";

  try {
    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully!";
  } catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
  }
?>

Executando consultas

Executando consultas

O PDO fornece dois métodos principais para executar consultas:

  • exec(): Para instruções que não retornam resultados (por exemplo, INSERT, UPDATE).
  • query(): Para instruções que retornam resultados (por exemplo, SELECT).

Exemplo:

<?php
  // Insert a record
  $pdo->exec("INSERT INTO users (name, email) VALUES ('Alice', 'alice@mail.com')");

  // Retrieve records
  $stmt = $pdo->query("SELECT * FROM users");
  while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo "Name: " . $row["name"] . ", Email: " . $row["email"] . "<br>";
  }
?>

Usando instruções preparadas

Usando instruções preparadas

As instruções preparadas são essenciais para uma interação segura e eficiente com o banco de dados. Exemplo:

Dica: Use marcadores de posição (:email) para evitar injeções de SQL.

<?php
  $sql = "SELECT * FROM users WHERE email = :email";
  $stmt = $pdo->prepare($sql);
  $stmt->execute(["email" => "alice@mail.com"]);
  $user = $stmt->fetch(PDO::FETCH_ASSOC);

  echo "Name: " . $user["name"];
?>

Tratamento de erros no PDO

Tratamento de erros no PDO

O PDO é compatível com três modos de tratamento de erros:

  • ERRMODE_SILENT: Os erros precisam ser verificados manualmente.
  • ERRMODE_WARNING: Os erros geram avisos do PHP.
  • ERRMODE_EXCEPTION: Os erros lançam exceções (recomendado).

Exemplo:

<?php
  $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  try {
    $pdo->exec("INVALID SQL STATEMENT");
  } catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
  }
?>

Obtendo dados

Obtendo dados

O PDO fornece vários métodos de obtenção:

  • fetch(): Recupera uma única linha.
  • fetchAll(): Recupera todas as linhas.
  • fetchColumn(): Recupera o valor de uma única coluna.

Exemplo:

<?php
  $stmt = $pdo->query("SELECT name FROM users");
  while ($name = $stmt->fetchColumn()) {
    echo "User: " . $name . "<br>";
  }
?>

Gerenciamento de transações

Gerenciamento de transações

Use transações para executar várias consultas como uma única unidade. Exemplo:

Dica: Use transações para garantir a integridade dos dados.

<?php
  try {
    $pdo->beginTransaction();

    $pdo->exec("INSERT INTO users (name, email) VALUES ('Bob', 'bob@mail.com')");
    $pdo->exec("INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@mail.com')");

    $pdo->commit();
    echo "Transaction successful!";
  } catch (PDOException $e) {
    $pdo->rollBack();
    echo "Transaction failed: " . $e->getMessage();
  }
?>

Muito bem!

Muito bem!

Parabéns! Você aprendeu a usar o PDO para interagir com bancos de dados de forma segura e eficiente, incluindo conectar-se, executar consultas e gerenciar transações. Na próxima lição, exploraremos técnicas avançadas de consulta SQL com PDO. Vamos continuar programando!

Trabalhando com PDO — ilustração 10

Perguntas Frequentes

A aula “Trabalhando com PDO” é grátis?

Sim — o texto completo de “Trabalhando com PDO” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 6 aulas no total.

O que vou aprender em “Trabalhando com PDO”?

Use Objetos de Dados do PHP (PDO) para interagir com bancos de dados Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar PHP Academy?

Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 6 de 6.

Quanto tempo leva a aula “Trabalhando com PDO”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de PHP Academy?

Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Introdução a bancos de dados
  2. Conectando-se a um banco de dados MySQL
  3. Gerenciando tabelas
  4. Realizando operações CRUD
  5. Instruções preparadas
  6. Trabalhando com PDO
← Voltar para PHP Academy