php - 自动捕获 PHP 中 PDO 的异常

标签 php mysql pdo

晚上,

我目前正在处理这样的 PDO 异常:

try{
$db = Db::connect();
$query = $db->prepare( "SELECT * FROM table;" );
$query->execute();
}
catch( PDOException $e ) { error( 'MySQL error: ' . $e->getMessage(), __FILE__, __LINE__ ); }

我每次的处理方式都是一模一样的。所以我想知道是否有一种方法可以设置它在出现 PDO 异常时自动运行:

catch( PDOException $e ) { error( 'MySQL error: ' . $e->getMessage(), __FILE__, __LINE__ ); }

最佳答案

看看Documentation of PDO

您可以将错误处理更改为 PDO::ERRMODE_SILENTPDO::ERRMODE_WARNING

$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);

或者使用set_exception_handler并为所有异常定义一个处理程序。

关于php - 自动捕获 PHP 中 PDO 的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10669017/

相关文章:

php - 找不到类 memcached

mysql - 哪种方法是在表中存储信息的更好方法?

mysql - 按频率和日期范围对关键字进行排名

php - PDO 参数绑定(bind)问题

php - 群发邮件ID重复检查

php - Bingbot 试图访问不存在的页面

php - 我如何检查哪个 PHP 文件锁定了 Linux 上的 CPU?

mysql - 查询以对分组项目进行排名?

php - 在 PHP 类中建立变量作用域?

php - MySQL PDO fetchAll 作为具有格式的数组