gpt4 book ai didi

php - 仅从错误代码获取 MySQL 错误消息

转载 作者:行者123 更新时间:2023-11-29 21:15:37 25 4
gpt4 key购买 nike

MySQL 错误代码(如 1054)有什么意义?

错误消息包含实际信息,因此必须有某种方法从错误代码中获取更多信息。

但是与错误消息相比,我可以使用什么来单独从错误代码中获取任何内容?

通常,您可以通过以下方式获得两者:

<?PHP
$db_link = new mysqli($hostname, $username, $password, $database);

$statement = $db_link->prepare('SELECT SomeFieldThatDoesNotExist FROM Person');
$statement->execute();

if(!$statement) {
$specific_error = $db_link->error;
$error_number = $db_link->errno;
}
?>

假设我遇到错误 1054(请参阅: https://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html#error_er_bad_field_error )。

仅使用数字 1054,我可以使用什么来获取实际的 MySQL 错误消息本身?

最佳答案

使用 Github 上的 MySQL 错误代码 PHP 库:https://github.com/HoldOffHunger/mysql-errors-codes .

正常错误消息样式:

$db_link = new mysqli($this->hostname,$this->username,$this->password);
print($db_link->connect_errno . " : " . $db_link->connect_error);

正常错误消息输出:

13236 : Message: Newly created data directory SOMEDIRECTORY is unusable. You can safely remove it.

新的、更完整的错误消息样式:

$mysql_error = new MySQLErrorCode();
$error_codes = $mysql_error->ErrorCodes();

print_r($error_codes[13236]);

输出:

13236 : Message: Newly created data directory SOMEDIRECTORY is unusable. You can safely remove it.

'13236' => [
'error_code' => '13236',
'internal_code' => 'ER_DATA_DIRECTORY_UNUSABLE',
'message_template' => 'Message: Newly created data directory %s is unusable. You can safely remove it.',
'sql_state' => 'HY000',
'version_information' => 'ER_DATA_DIRECTORY_UNUSABLE was added in 8.0.13.'
],

关于php - 仅从错误代码获取 MySQL 错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35973718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com