As of 5.5.9, connect_errno will not show an error if the host or the user (or both) are empty strings, so such cases have to be accounted for separately.
(PHP 5, PHP 7)
mysqli::$connect_errno -- mysqli_connect_errno — Returns the error code from last connect call
面向对象风格
过程化风格
Returns the last error code number from the last call to mysqli_connect().
Note:
Client error message numbers are listed in the MySQL errmsg.h header file, server error message numbers are listed in mysqld_error.h. In the MySQL source distribution you can find a complete list of error messages and error numbers in the file Docs/mysqld_error.txt.
An error code value for the last call to mysqli_connect(), if it failed. zero means no error occurred.
Example #1 $mysqli->connect_errno example
面向对象风格
<?php
$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');
if ($mysqli->connect_errno) {
die('Connect Error: ' . $mysqli->connect_errno);
}
?>
过程化风格
<?php
$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');
if (!$link) {
die('Connect Error: ' . mysqli_connect_errno());
}
?>
以上例程会输出:
Connect Error: 1045
As of 5.5.9, connect_errno will not show an error if the host or the user (or both) are empty strings, so such cases have to be accounted for separately.
'errmsg.h' and 'mysqld_error.h' files only have the definitions of the error codes. In the MySQL documentation you can find the definition along with the message it displays, which could be more useful since the error constant name isn't always explicit enough.
Client Error Codes and Messages
http://dev.mysql.com/doc/refman/5.6/en/error-messages-client.html
Server Error Codes and Messages
http://dev.mysql.com/doc/refman/5.6/en/error-messages-server.html