Conexão com MySQL usando PDO
Crie uma conexão PDO com DSN, usuário e senha.
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?
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
- Conexão com MySQL usando PDO
- Instruções preparadas e vinculação
- Obtenção de resultados com PDO
- Transações com PDO