PHP Academy · Aula

Conexão com MySQL usando PDO

Crie uma conexão PDO com DSN, usuário e senha.

Aula 1 de 413 etapas

Conexão com MySQL usando PDO é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 1 de 4. 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 4 aulas no total.

O que é PDO?

PDO (Objetos de Dados do PHP) é uma camada de abstração para acesso a bancos de dados. Uma única API funciona com MySQL, PostgreSQL, SQLite e outros — basta alterar o DSN.

O DSN

Uma cadeia DSN (Nome da Fonte de Dados) identifica o controlador, o host, a porta e o nome do banco de dados.

<?php
$dsn = "mysql:host=127.0.0.1;port=3306;dbname=myapp;charset=utf8mb4";

Criando uma instância de PDO

Passe o DSN, o nome de usuário e a senha para o construtor de PDO. Envolva a chamada em try/catch para tratar erros de conexão.

<?php
try {
    $pdo = new PDO(
        "mysql:host=127.0.0.1;dbname=myapp;charset=utf8mb4",
        "db_user",
        "db_pass"
    );
} catch (PDOException $e) {
    die("Connection failed: ".$e->getMessage());
}

Modo de erro

Defina o modo de erro para lançar exceções, para que os erros nunca sejam ignorados silenciosamente.

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

Modo de busca padrão

Configure o estilo de busca padrão — vetores associativos são os mais convenientes.

<?php
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);

Configuração completa da conexão

Prática recomendada: crie o PDO uma vez com todos os atributos e depois compartilhe a instância.

<?php
function createPDO(): PDO {
    return new PDO(
        "mysql:host=127.0.0.1;dbname=myapp;charset=utf8mb4",
        "root", "secret",
        [
            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
            PDO::ATTR_EMULATE_PREPARES   => false,
        ]
    );
}

Preparações emuladas

Definir ATTR_EMULATE_PREPARES como false usa instruções preparadas verdadeiras no lado do servidor — mais seguras e eficientes.

charset=utf8mb4

Especifique sempre charset=utf8mb4 no DSN. Isso é compatível com todo o intervalo Unicode, incluindo emojis. Nunca use o antigo nome alternativo utf8.

Executando uma consulta simples

Use query() somente para instruções que não contenham dados fornecidos pelo usuário.

<?php
$stmt = $pdo->query("SELECT COUNT(*) as total FROM users");
$row  = $stmt->fetch();
echo $row["total"];

exec() para instruções que não sejam SELECT

exec() executa uma instrução que não retorna resultados e devolve o número de linhas afetadas.

<?php
$count = $pdo->exec("DELETE FROM sessions WHERE expires_at < NOW()");
echo "Deleted $count expired sessions";

Conexões persistentes

O PDO aceita conexões persistentes por meio de PDO::ATTR_PERSISTENT => true. Em ambientes PHP-FPM, geralmente é preferível usar um conjunto de conexões.

Resumo

Crie o PDO com um DSN, defina ERRMODE_EXCEPTION e FETCH_ASSOC e desative as preparações emuladas. Nunca chame query() com dados fornecidos pelo usuário — use instruções preparadas.

Verificação rápida

Qual atributo faz o PDO lançar exceções quando ocorrem erros?

Grátis para começar

Aprenda PHP com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
49
Aulas
195

Perguntas Frequentes

A aula “Conexão com MySQL usando PDO” é grátis?

Sim — o texto completo de “Conexão com MySQL usando 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 4 aulas no total.

O que vou aprender em “Conexão com MySQL usando PDO”?

Crie uma conexão PDO com DSN, usuário e senha. 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 1 de 4.

Quanto tempo leva a aula “Conexão com MySQL usando 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. Conexão com MySQL usando PDO
  2. Instruções preparadas e vinculação
  3. Obtenção de resultados com PDO
  4. Transações com PDO
← Voltar para PHP Academy