Categories
Banco de dados Programação Tutoriais

Como verificar erros nas queries MySQL dentro de scripts PHP

Como lidar com erros em queries MySQL em scripts PHP. Saiba como usar as funções de verificação de erros mysql_errno() e mysql_error() e customizar as mensagens de erro que serão vistas pelos usuários.

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.

By 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!

One reply on “Como verificar erros nas queries MySQL dentro de scripts PHP”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.