有没有办法可以在使用连接参数建立连接之前验证它们,或者关闭警告,以便我可以自己处理错误? (顺便说一下,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();
}
最佳答案
检查 php.ini 中的“display_errors”设置。请参阅PHP configuration file文档。
如果“display_errors”为“On”,则它将向浏览器输出任何错误或警告。将其设置为“关闭”可以防止这种情况发生,并且几乎总是一个好主意。
这是通过 php.ini 控制的,但也可以在运行时使用内置函数 ini_set
进行更改,如果您无法控制环境(使用托管服务器),这会很有用等)
您可以使用 ini_get('display_errors')
检查当前值,并使用 ini_set('display_errors', 'Off')
将其关闭。
关于php - PDO 以静默方式测试连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31495609/