禁用MySql错误

时间:2018-07-11 18:52:42

标签: php mysql sql database pdo

有什么方法可以防止MySql错误(如果发生)出现在客户端,而只需将它们记录在某个地方?

注意1: 不使用任何框架,仅使用具有PDO灭绝功能和MySql的本机PHP。

注意2: 此代码将停止PHP错误,而不是MySql。

ini_set('display_errors', 0);
ini_set("display_startup_errors", 0);
error_reporting(0);

示例:

禁用类似错误

SQLSTATE[HY000] [1045] Access denied for user ..

1 个答案:

答案 0 :(得分:1)

对于非PHP错误,应用程序(程序员)负责获取和显示/记录错误。因此,对于您的特定示例,请不要显示它,将其记录下来:

//instead of displaying
if (!$link) {
    die(mysqli_connect_error());
}

//log it
if (!$link) {
    error_log(mysqli_connect_error());
}

您也可以trigger_error遵守我们的错误报告设置:

if (!$link) {
    trigger_error(mysqli_connect_error(), E_USER_ERROR);
}