Aprenda a conectar o PHP ao MySQL utilizando PDO

Veja como estabelecer uma conexão segura entre PHP e MySQL utilizando PDO, garantindo flexibilidade e segurança.

Como usar PDO para conectar o PHP ao MySQL?

O PDO (PHP Data Objects) é uma interface de acesso a bancos de dados que permite conectar o PHP a diferentes sistemas de gerenciamento de bancos de dados (SGBDs), incluindo MySQL, PostgreSQL e SQLite. Ele oferece maior flexibilidade e segurança em comparação ao MySQLi, especialmente ao prevenir SQL Injection.

Criando uma conexão com PDO

Podemos estabelecer uma conexão ao MySQL utilizando PDO da seguinte maneira:

<?php
try {
    $conexao = new PDO("mysql:host=localhost;dbname=meu_banco", "usuario", "senha");
    $conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Conexão estabelecida com sucesso!";
} catch (PDOException $e) {
    echo "Erro na conexão: " . $e->getMessage();
}
?>

Neste código:

  • Definimos host, dbname, usuario e senha.
  • Usamos setAttribute() para ativar o modo de erro EXCEPTION, melhorando a depuração.
  • O try/catch captura falhas de conexão e exibe mensagens de erro adequadas.

Executando consultas com PDO

Após estabelecer a conexão, podemos realizar operações no banco de dados:

Inserindo dados com Prepared Statements

<?php
try {
    $conexao = new PDO("mysql:host=localhost;dbname=meu_banco", "usuario", "senha");
    $conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = "INSERT INTO usuarios (nome, email) VALUES (:nome, :email)";
    $stmt = $conexao->prepare($sql);

    $stmt->bindParam(':nome', $nome);
    $stmt->bindParam(':email', $email);

    $nome = "Carlos Almeida";
    $email = "carlos@email.com";
    $stmt->execute();

    echo "Usuário cadastrado com sucesso!";
} catch (PDOException $e) {
    echo "Erro: " . $e->getMessage();
}
?>

Aqui, placeholders nomeados são utilizados para evitar SQL Injection.

Benefícios do uso de PDO

  • Suporte a múltiplos bancos de dados (MySQL, PostgreSQL, SQLite, etc.).
  • Prepared Statements para maior segurança.
  • Tratamento de erros melhorado.
  • Maior flexibilidade em aplicações de grande porte.

O PDO é amplamente utilizado no PHP por sua segurança e compatibilidade com diferentes bancos de dados. Ao contrário do MySQLi, que é específico para MySQL, o PDO permite que o mesmo código funcione com diversos SGBDs sem necessidade de grandes alterações. Além disso, seu suporte nativo a prepared statements ajuda a evitar SQL Injection, tornando-o a melhor escolha para projetos profissionais.

Algumas aplicações:

  • Criação de sistemas seguros contra SQL Injection
  • Compatibilidade com múltiplos bancos de dados
  • Melhor tratamento de erros e depuração
  • Desenvolvimento de aplicações escaláveis e seguras

Dicas para quem está começando

  • Prefira PDO se precisar de suporte para diferentes bancos de dados.
  • Utilize sempre prepared statements para evitar SQL Injection.
  • Ative PDO::ERRMODE_EXCEPTION para capturar erros de forma mais eficiente.
  • Feche a conexão após o uso para liberar recursos do servidor.
  • Use fetch(PDO::FETCH_ASSOC) para recuperar dados como arrays associativos.

Contribuições de Daniel Moreira

Compartilhe este tutorial: Como usar PDO para conectar o PHP ao MySQL?

Compartilhe este tutorial

Continue aprendendo:

Como excluir registros do MySQL usando PHP?

Veja como remover registros de uma tabela MySQL utilizando PHP com MySQLi e PDO de forma segura.

Tutorial anterior

Como usar MySQLi no PHP?

Veja como utilizar MySQLi para conectar, inserir, buscar e manipular dados no banco MySQL com PHP.

Próximo tutorial