DevConf 2015


(PHP 4, PHP 5)

mysql_errnoRetorna o valor numérico da mensagem de erro da operação MySQL anterior


int mysql_errno ([ resource $link_identifier ] )

Retorna o número do erro da ultima função MySQL.

Erros vindos o MySQL não geram mais avisos. Ao invés, use mysql_errno() para obter o código do erro. Note que esta fução apenas retorna o código apenas da função to MySQL mais recentemente usada (não incluindo mysql_error() e mysql_errno()), assim se você quiser usa-la, tenha certesa de conferir o valor antes de executar outra função MySQL.



The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If no connection is found or established, an E_WARNING level error is generated.

Valor Retornado

Retorna o número de erro da ultima função MySQL, ou 0 (zero) se não houve erro.


Exemplo #1 Exemplo mysql_errno()


if (!
mysql_select_db("nonexistentdb"$link)) {
mysql_errno($link) . ": " mysql_error($link). "\n";

if (!
mysql_query("SELECT * FROM nonexistenttable"$link)) {
mysql_errno($link) . ": " mysql_error($link) . "\n";

O exemplo acima irá imprimir algo similar à:

1049: Unknown database 'nonexistentdb'
1146: Table 'kossu.nonexistenttable' doesn't exist

Veja Também

add a note add a note

User Contributed Notes 3 notes

7 years ago
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().
apoio at cyberspace dot org
14 years ago
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.
simon at paarlberg dot dk
9 years ago
Function for creating unique md5 keys in a database. If there are duplets, then a new md5-key will be generated. For your use:

  function users_md5create($id){
    global $mysql_link;

    while ($done==0) {
      $md5key = md5(time().($id/2).$loop).md5(time().$id.$loop);
      $query = "INSERT INTO users_md5create SET md5key='$md5key', fkey='$id', created=UNIX_TIMESTAMP() ";
      $mysql_result = mysql_query($query, $mysql_link);
      if(mysql_errno($mysql_link)!=1062) $done=1;

To Top