php - 有没有办法在 PHP 中捕获 MySQL 和数据库错误?

标签 php mysql error-handling mysql-error-1045

有时我会收到类似这样的数据库错误

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'test'@'101.190.193.83' (using password: YES)

Could not connect: Access denied for user 'test'@'101.190.193.83' (using password: YES)"

但实际上密码没有变化。

有什么方法可以在日志文件中捕获此错误并在屏幕上显示一些不错的消息,例如“服务器错误。请稍后重试。”

最佳答案

如果你不想让 PHP 显示警告,你必须使用“@”运算符

$connect = @mysql_connect(HOST, USER, PASS);//won't display the warning if any.
if (!$connect) { echo 'Server error. Please try again sometime. CON'; }

您也可以考虑设置 display_errors在生产中的 php.ini 文件中设为 0

您也可以考虑 PDO对于连接到 MySQL,它默认使用异常来报告错误,

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Could not connect : ' . $e->getMessage();
}

关于php - 有没有办法在 PHP 中捕获 MySQL 和数据库错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6120589/

相关文章:

php - 在 php 中从一行创建动态数据透视列

php - 使用 php(或可能是其他东西;又名 AJAX)验证表单的正确方法

javascript - phpstorm javascript如何显示对象没有功能错误

javascript - JS : Catch network error and return default response data

express - 如何获得与错误响应相关的数据?

php excel读取返回奇怪的字符

php - ipad 网站上的电话号码消失了

MySQL id序列

MySQL从同一行不同列中选择最后输入的日期和值

php - 在 MySQL while 循环中连接另一个数据库