Aprenda a tratar erros de conexão ao MySQL no PHP

Veja como capturar e tratar erros de conexão ao MySQL no PHP com MySQLi e PDO, garantindo uma melhor experiência para o usuário.

Como lidar com erros de conexão ao MySQL no PHP?

Ao trabalhar com PHP e MySQL, falhas na conexão podem ocorrer por diversos motivos, como credenciais inválidas, problemas no servidor ou configuração incorreta. Para evitar que o sistema quebre, devemos tratar esses erros corretamente.

Tratando erros com MySQLi (Procedural)

O MySQLi permite capturar erros de conexão utilizando mysqli_connect_error():

<?php
// Tentando conectar ao banco de dados
$conexao = mysqli_connect("localhost", "usuario", "senha", "banco");
if (!$conexao) {
    die("Erro na conexão: " . mysqli_connect_error());
}
echo "Conexão bem-sucedida!";
?>

Aqui, caso a conexão falhe, mysqli_connect_error() exibe a mensagem de erro correspondente.

Tratando erros com MySQLi (Orientado a Objetos)

Podemos utilizar a propriedade connect_error para capturar falhas:

<?php
$conexao = new mysqli("localhost", "usuario", "senha", "banco");
if ($conexao->connect_error) {
    die("Erro ao conectar: " . $conexao->connect_error);
}
echo "Conexão bem-sucedida!";
?>

Se a conexão falhar, a execução do script será interrompida e o erro será exibido.

Tratando erros com PDO

O PDO permite capturar erros de conexão com try/catch, tornando o código mais robusto:

<?php
try {
    $conexao = new PDO("mysql:host=localhost;dbname=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();
}
?>

Com PDO::ERRMODE_EXCEPTION, qualquer erro na conexão será tratado pela exceção, permitindo personalizar a resposta ao usuário.

Tratar erros de conexão ao MySQL no PHP é essencial para garantir que sua aplicação não quebre caso ocorra uma falha. Utilizar mysqli_connect_error() no MySQLi ou try/catch no PDO são práticas recomendadas. Além disso, manter logs de erros pode facilitar a depuração e ajudar a identificar problemas antes que afetem os usuários.

Algumas aplicações:

  • Evitar falhas inesperadas no carregamento de páginas
  • Melhor experiência para o usuário em caso de erro
  • Depuração mais eficiente com logs de erro
  • Maior segurança, ocultando detalhes internos do banco

Dicas para quem está começando

  • Use die() para interromper o código caso a conexão falhe.
  • No PDO, ative PDO::ERRMODE_EXCEPTION para capturar erros corretamente.
  • Evite exibir mensagens de erro detalhadas para usuários finais.
  • Armazene logs de erro para análise posterior.
  • Certifique-se de que as credenciais do banco estão corretas antes de tentar conectar.

Contribuições de Daniel Moreira

Compartilhe este tutorial: Como lidar com erros de conexão ao MySQL no PHP?

Compartilhe este tutorial

Continue aprendendo:

Qual a diferença entre MySQLi e PDO no PHP?

Veja as vantagens e diferenças entre MySQLi e PDO para manipulação de bancos de dados no PHP e qual tecnologia escolher para seu projeto.

Tutorial anterior

Como usar consultas preparadas (prepared statements) no PHP com MySQL?

Veja como usar prepared statements no PHP para realizar consultas seguras e protegidas contra SQL Injection.

Próximo tutorial