有没有办法可以在使用它们建立连接之前验证连接参数,或者关闭警告,以便我自己处理错误? (顺便说一句,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();
}
答案 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')
将其关闭。