自动捕获PHP中的PDO异常

自动捕获PHP中的PDO异常

本文介绍了自动捕获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异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-26 08:16