mysql_errno

(PHP 3, PHP 4, PHP 5)

mysql_errno --  Возвращает численный код ошибки выполнения последней операции с MySQL

Описание

int mysql_errno ( [resource link_identifier] )

Возвращает код ошибки последней функции работы с MySQL, или 0 (ноль) если операция выполнена успешно.

Ошибки работы с MySQL больше не вызывают сообщений в PHP. Вместо этого используйте функцию mysql_errno(), чтобы получить код ошибки. Учтите, что функция возвращает код ошибки только последней выполненной функции (исключая mysql_error() и mysql_errno()). Проверяйте результат работы функции до вызова следующей.

Пример 1. Пример использования mysql_errno()

<?php
   mysql_connect
("localhost", "mysql_user", "mysql_password");

  
mysql_select_db("nonexistentdb");
   echo
mysql_errno() . ": " . mysql_error(). "\n";

  
mysql_select_db("kossu");
  
mysql_query("SELECT * FROM nonexistenttable");
   echo
mysql_errno() . ": " . mysql_error() . "\n";
?>

Вышеописаный пример выдаст следующий результат:

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

Замечание: Если опциональный параметр указан, будет использовано соединение, на которое он указывает. В противном случае, будет использовано последнее открытое.

См. также mysql_error().



mysql_errno
simon at paarlberg dot dk
13-Dec-2005 03:40
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;
     $loop++;
   }
 
   return($md5key);
  }
phpnet at vemconcursos dot com
07-Dec-2005 06:31
Watch out! Although mysql_errno() supposedly returns the error number from the last MySQL function, if you don't specify a link identifier, it assumes the last link *opened*, NOT the last link *used*.

That means you can actually have mysql_errno() blindly ignore the error caused by the last MySQL function if it didn't use the last opened link.

Here's an example:

$link1 = mysql_connect('localhost', 'user1', 'password1');
$link2 = mysql_connect('localhost', 'user2', 'password2');

// do something wrong using the first link
mysql_select_db('nonexistentdb', $link1);

// if you don't specify the link identifier ...
if (mysql_errno()) {
  // the error from the last MySQL function is not reported
  echo mysql_errno() . ': ' . mysql_error() . "\n";
}
admin at artfabrique dot ru
18-Oct-2005 05:28
All MySQL ErrorCodes can be found in its' on-line manual.
For lazy one here is the link :
http://dev.mysql.com/doc/refman/5.0/en/error-handling.html
apoio at cyberspace dot org
29-Jun-2000 05:58
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.

<mysql_drop_dbmysql_error>
 Last updated: Tue, 15 Nov 2005