If you are receiving errors like:
Warning: mysql_close(): 5 is not a valid MySQL-Link resource
Check that you are calling mysql_error() and mysql_errno() BEFORE you call mysql_close().
(PHP 4, PHP 5)
mysql_errno — Retorna o valor numérico da mensagem de erro da operação MySQL anterior
Esta extensão tornou-se defasada a partir do PHP 5.5.0 e foi removida no PHP 7.0.0. Em vez disso, as extensões MySQLi ou PDO_MySQL devem ser usadas. Veja também o guia MySQL: escolhendo uma API. Alternativas a esta função incluem:
Retorna o número do erro da última função MySQL.
Erros vindos do banco de dados MySQL não geram mais avisos. Ao invés disso, use mysql_errno() para obter o código do erro. Note que esta função retorna o código apenas da função MySQL mais recentemente usada (não incluindo mysql_error() e mysql_errno()), assim se você quiser usá-la, tenha certeza de verificar o valor antes de executar outra função MySQL.
link_identifier
A conexão MySQL. Se o
identificador da conexão não for especificado, a última conexão aberta por
mysql_connect() será usada. Se não houver uma conexão anterior,
haverá uma tentativa de criar uma como se mysql_connect() tivesse sido chamada
sem argumentos. Se nenhuma conexão for encontrada ou estabelecida, um erro de nível
E_WARNING
será gerado.
Retorna o número de erro da última função MySQL, ou
0
(zero) se não houve erro.
Exemplo #1 Exemplo mysql_errno()
<?php
$link = mysql_connect("localhost", "mysql_user", "mysql_password");
if (!mysql_select_db("nonexistentdb", $link)) {
echo mysql_errno($link) . ": " . mysql_error($link). "\n";
}
mysql_select_db("kossu", $link);
if (!mysql_query("SELECT * FROM nonexistenttable", $link)) {
echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
}
?>
O exemplo acima produzirá algo semelhante a:
1049: Unknown database 'nonexistentdb' 1146: Table 'kossu.nonexistenttable' doesn't exist
If you are receiving errors like:
Warning: mysql_close(): 5 is not a valid MySQL-Link resource
Check that you are calling mysql_error() and mysql_errno() BEFORE you call mysql_close().
All mysqld error messages are located into the file /usr/local/share/mysql/english/errmsg.txt and listed in numerical order from 999 to 1175. You can change the output language as well, issuing the '-L spanish' option for example. See the manual for more details.