我在Web应用程序上使用PDO。我使用此简单代码来确保查询成功执行并在失败时处理错误
$stmt = // MySQL query;
if($stmt->execute()){
// Do something
} else {
// Handle the error
echo 'some error';
}
它不起作用,因为任何PDO未捕获的异常(例如(重复的输入主键)都是致命错误),因此PHP脚本停止执行。我知道TRY / CATCH解决了这种情况,但是我有很多查询,在每个查询上使用try / catch会花费很长时间。
我的问题
是否有任何方法可以使PDO异常在默认情况下被捕获,以便在我的Web应用程序中进行泛化?
答案 0 :(得分:0)
在阅读本文之后,我发现了无需使用try / catch即可处理PDO未捕获异常的最佳实践
What-is-SetAttribute-PDO-ATTR_ERRMODE ?
1-SET属性PDO::ATTR_ERRMODE
-----> PDO::ERRMODE_WARNING
PDO::ERRMODE_WARNING // issue warning and continue executing the script
2-检查您的Apache的错误日志文件以确定错误
IMP注意: