The object oriented style does not work for connect_error and connect_errno. However, the procedural style (mysqli_connect_error and mysql_connect_errno) works perfectly and can be mixed in with object oriented style code.
<?php
$mysqli = new mysqli('localhost', 'user', 'pass', 'db');
if(mysqli_connect_errno())
{
die('MySQL connection error: ' . mysqli_connect_error());
}
?>
mysqli_connect_errno() returns zero on successful connections, an error number otherwise.
mysqli->connect_error
mysqli_connect_error
(PHP 5)
mysqli->connect_error -- mysqli_connect_error — Returns a string description of the last connect error
Description
string $connect_error;
string mysqli_connect_error
( void
)
Returns the last error message string from the last call to mysqli_connect().
Return Values
A string that describes the error. An empty string if no error occurred.
Examples
Example #1 Object oriented style
<?php
$mysqli = @new mysqli('localhost', 'fake_user', 'my_password', 'my_db');
// Works as of PHP 5.2.9 and 5.3.0.
if ($mysqli->connect_error) {
die('Connect Error: ' . $mysqli->connect_error);
}
?>
Example #2 Procedural style
<?php
$link = @mysqli_connect('localhost', 'fake_user', 'my_password', 'my_db');
if (!$link) {
die('Connect Error: ' . mysqli_connect_error());
}
?>
The above example will output:
Connect Error: Access denied for user 'fake_user'@'localhost' (using password: YES)
Notes
Warning
The mysqli->connect_error property only works properly as of PHP versions 5.2.9 and 5.3.0. Use the mysqli_connect_error() function if compatibility with earlier PHP versions is required.
See Also
- mysqli_connect() - Open a new connection to the MySQL server
- mysqli_connect_errno() - Returns the error code from last connect call
- mysqli_errno() - Returns the error code for the most recent function call
- mysqli_error() - Returns a string description of the last error
- mysqli_sqlstate() - Returns the SQLSTATE error from previous MySQL operation
mysqli->connect_error
tom420 dot duhamel at gmail dot com
24-Feb-2009 04:59
24-Feb-2009 04:59
bero at arklinux dot org dot SPAM dot TO dot microsoft dot com
09-May-2004 11:04
09-May-2004 11:04
The reason for mysqli_connect_error() not being available as $link->connect_error [looks like an inconsistency superficially] is that at the time mysqli_connect_error() matters (when something goes wrong), $link is null, and therefore not a mysqli object ---> you'd be accessing NULL->connect_error, which can't make any sense.
