mysql_errno

(PHP 4, PHP 5)

mysql_errno返回上一个 MySQL 操作中的错误信息的数值

警告

本扩展自 PHP 5.5.0 起已废弃,并在自 PHP 7.0.0 开始被移除。应使用 MySQLiPDO_MySQL 扩展来替换之。参见 MySQL:选择 API 指南来获取更多信息。用以替代本函数的有:

说明

mysql_errno(resource $link_identifier = NULL): int

返回上一个 MySQL 函数的错误号码。

从 MySQL 数据库后端来的错误不再发出警告。要用 mysql_errno() 来检索错误代码。注意本函数仅返回最近执行的 MySQL 函数(不包括 mysql_error()mysql_errno())的错误代码,因此如果要使用此函数,确保在调用另一个 MySQL 函数之前检查它的值。

参数

link_identifier

MySQL 连接。如不指定连接标识,则使用由 mysql_connect() 最近打开的连接。如果没有找到该连接,会尝试不带参数调用 mysql_connect() 来创建。如没有找到连接或无法建立连接,则会生成 E_WARNING 级别的错误。

返回值

Returns the error number from the last MySQL function, or 0 (zero) if no error occurred.

示例

示例 #1 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";
}
?>

以上示例的输出类似于:

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

参见

add a note add a note

User Contributed Notes 3 notes

up
-2
apoio at cyberspace dot org
24 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.
up
-3
timstamp.co.uk
17 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().
up
-9
simon at paarlberg dot dk
19 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;
      $loop++;
    }

    return($md5key);
  }
To Top