6

我有这个代码片段:

$conn = mysql_connect($host, $usr, $pwd);

当 MySQL 访问被拒绝时,如何防止 PHP 打印错误消息?

我正是需要这种语法,但对我没有任何作用。

我尝试$conn = mysql_connect($host, $usr, $pwd) or false;$conn = mysql_connect($host, $usr, $pwd) || false;以下内容:

try {
    $conn = mysql_connect($host, $usr, $pwd);

    if(!$conn) {
        throw new Exception('Failed');
    }
} catch(Exception $e) {
    // ...
}

PHP 总是打印连接失败的错误消息。但我只想返回 false,如果它失败了。

4

4 回答 4

10

不应在生产服务器上激活错误打印。考虑将您的 php.ini 配置更改为记录错误而不是显示它。

使用@ 来静默错误消息不是一个好的解决方案。

于 2011-09-20T12:44:55.173 回答
6

我不知道您为什么要这样做,但是您可以添加一个@来抑制 php 错误?

见: http: //php.net/manual/en/language.operators.errorcontrol.php

于 2011-09-20T12:41:43.130 回答
3

您不应该真正mysql_connect在 PHP 5 中使用,因为它现在已被 mysqli 和 PDO 弃用。

但是您可能可以mysql_connect通过添加前缀来使生成的警告静音@

@mysql_connect()

于 2011-09-20T12:42:35.153 回答
0

@ 抑制错误。并且还设置错误报告error_reporting(0);以关闭所有错误。还检查mysqli

文档

于 2011-09-20T12:46:54.877 回答