本文介绍了自动捕获PHP中的PDO异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
晚上
我目前正在像这样处理PDO异常:
I am currently handling PDO exceptions like this:
try{
$db = Db::connect();
$query = $db->prepare( "SELECT * FROM table;" );
$query->execute();
}
catch( PDOException $e ) { error( 'MySQL error: ' . $e->getMessage(), __FILE__, __LINE__ ); }
我每次的处理都是完全相同的.因此,我想知道是否有一种方法可以设置在自动运行的PDO异常时:
My handling each time is exactly the same. So I am wondering if there is a way I can set up that when there is a PDO exception that it automatically runs:
catch( PDOException $e ) { error( 'MySQL error: ' . $e->getMessage(), __FILE__, __LINE__ ); }
推荐答案
看看 PDO的文档
您可以将错误处理更改为 PDO :: ERRMODE_SILENT 或 PDO :: ERRMODE_WARNING
You can change the error handling to PDO::ERRMODE_SILENT or PDO::ERRMODE_WARNING
$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
或使用 set_exception_handler 并为您所有的对象定义一个处理程序例外.
Or use set_exception_handler and define a handler for all your exceptions.
这篇关于自动捕获PHP中的PDO异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!