PDO默默地测试连接性

时间:2015-07-18 21:08:32

标签: php mysql pdo

有没有办法可以在使用它们建立连接之前验证连接参数,或者关闭警告,以便我自己处理错误? (顺便说一句,ERRMODE_SILENT不起作用)

我希望我的应用程序处理错误,而不是在输出中显示它们。这是构造函数的一部分:

 try {
    $this->pdo = new PDO("mysql:host=$db_host;port=$db_port;dbname=$db_name", $db_user, $db_pass);
    $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);

 } catch (PDOException $e){
    $this->connEstablished = false;
    $this->error = $e->getMessage();
 }

1 个答案:

答案 0 :(得分:1)

检查你的'display_errors'在php.ini中设置。请参阅PHP configuration file文档。

如果' display_errors'是' On'然后它会向浏览器输出任何错误或警告。将其设置为'关闭'会阻止这种情况,而且几乎总是一个好主意。

这是通过php.ini控制的,但也可以在运行时使用内置函数ini_set进行更改,如果您无法控制您的环境(使用托管服务器等),这将非常有用。 )

您可以使用ini_get('display_errors')检查当前值,然后使用ini_set('display_errors', 'Off')将其关闭。