Capa do artigo sobre como lidar com erros no MySQL

Como verificar erros nas queries MySQL dentro de scripts PHP

Veja como adicionar código para verificar e apontar erros nas suas queries, dentro dos seus scripts PHP.
Até conseguir fazer um programa começar a funcionar direito, há um processo — por vezes, longo — de testes e depuração.
computador exibindo erro no mysql
Você pode testar as queries no MySQL e usá-las dentro do script apenas quando estiverem tendo o comportamento esperado, conforme mostrei aqui.
Adicionalmente, você pode antecipar os problemas, fazendo a verificação de erros durante a execução do script — o que facilita o seu trabalho.
É fácil incluir código de verificação de erros no PHP (bem como na maioria das outras linguagens de programação).
Neste post, vou usar parte do código de conexão/desconexão ao servidor MySQL, descrito neste artigo —. Portanto, se você ainda for iniciante e quiser entender melhor o seu funcionamento, dê uma olhadinha lá.
Os códigos de checagem vão ajudar você a descobrir onde estão os erros nos seus scripts e a corrigi-los.

Como lidar com erros nas queries MySQL, no PHP

No PHP, para obter informações mais específicas sobre operações relacionadas ao MySQL que fracassaram, use mysql_error() e mysql_errno():

  • mysql_errno() — retorna o código numérico do erro, de maneira que você possa consultar um manual para entender melhor o que houve.
  • mysql_error() — retorna uma descrição padrão do erro.

Ambas as funções podem receber um identificador (opcional), referente à conexão sobre a qual devem dar informações. Se você não quiser usar o identificador, elas irão retornar informações sobre a última conexão, como procedimento padrão.
Veja, em destaque, abaixo, um exemplo de uso:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Página de conexão ao banco de dados</title>
</head>

<body>
<?php # conecta.php - conecta ao servidor MySQL
echo "tentando uma conexão... <br />";
if (!($con = @mysql_connect ("localhost", "lobinho", "lupus43")))
    die("Não foi possível conectar: ".mysql_errno()." - ".mysql_error());
print ("Conexão bem sucedida <br />");
if (!@mysql_select_db ("tutorial", $con))
    die ("Não foi possível selecionar o banco de dados <br />");
mysql_close ($con);
print ("Conexão terminada <br />");
?>
</body>
</html>

No código, acima, usei um username e senha propositadamente incorretos (para obter um erro de conexão).
O resultado, no navegador é esse:

tentando uma conexão...
Não foi possível conectar: 1045 - Access denied for user 'lobinho'@'localhost' (using password: YES)

Após a minha mensagem “Não foi possível conectar”, a função mysql_errno() fornece o número do erro 1045 e a função mysql_error() fornece a descrição do erro “Acesso negado ao usuário lobinho… ”
Isto já é suficiente para eu saber onde meu erro se encontra e ir lá corrigir meu código.

mensagem de erro do MySQL - funções mysql_errno e mysql_error()
Clique, para ampliar.

O que vimos, neste post, é apenas um esboço do que pode ser feito com as funções de tratamento de erro PHP/MySQL. Use sempre estas funções para, entre outras coisas, informar os usuários com suas próprias mensagens customizadas sobre o que ocorreu ao acessar o banco de dados.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia. Fã de séries, como "Rick and Morty" e "BoJack Horseman". Me siga no Twitter e vamos trocar ideias!

Um comentário sobre “Como verificar erros nas queries MySQL dentro de scripts PHP”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *