I see in the PHP 4.0.6 release notes that mysql_error() and mysql_errno()
have been fixed so that you can get error information from them when
a connect call fails. (Previously they worked only after successfully
establishing a connection, so that you had to use $php_errormsg with
track_errors turned on to get connection error information.)
I want to write connection code that takes advantage of this, so that
it uses the MySQL error functions if they're the fixed versions, and
falls back to $php_errormsg otherwise. Does the following look reasonable?
if (!($conn_id = @mysql_connect ($host, $user, $password)))
{
# If mysql_errno()/mysql_error() work for failed connections, use
# them (invoke with no arguments). Otherwise, use $php_errormsg.
if (mysql_errno ())
{
die (sprintf ("Cannot connect to database server: %s (%d)\n",
htmlspecialchars (mysql_error ()),
mysql_errno ()));
}
else
{
die ("Cannot connect to database server: "
. htmlspecialchars ($php_errormsg) . "\n");
}
}
I'm assuming that the proper way to invoke mysql_error()/mysql_errno()
after a failed connection is with *no* argument, because when a failure
occurs $conn_id won't have any reasonable value and shouldn't be passed
to those functions.
--
Paul DuBois, [EMAIL PROTECTED]
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]