PDO 异常处理配置
作为开发人员,您可能更喜欢让 PDO 默认抛出异常。这样就无需在每次建立数据库连接时显式设置错误处理模式。虽然您可以使用 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION) 手动设置错误模式,但您可能想知道是否有办法使其成为默认行为。
默认异常处理
不幸的是,没有内置的配置文件或php.ini 文件中的选项允许您将 PDO 设置为默认抛出异常。这是因为 PHP 全局处理错误处理,而不是特定于 PDO。
解决方案
要实现您想要的行为,您有两个选择:
1。构造函数参数
您可以向 PDO 构造函数传递一组选项,包括错误处理模式:
$pdo = new PDO('mysql:host=localhost;dbname=someDatabase', 'username', 'password', array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ));
2.包装类
或者,您可以创建一个扩展 PDO 的包装类,并始终将错误模式设置为异常模式:
class MyPDO extends PDO { public function __construct($dsn, $username, $password) { parent::__construct($dsn, $username, $password, array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION )); } }
通过这种方法,您可以使用您的自定义PDO 类而不是常规 PDO 类,并且始终获得异常处理行为:
$pdo = new MyPDO('mysql:host=localhost;dbname=someDatabase', 'username', 'password');
以上是如何让PDO默认抛出异常?的详细内容。更多信息请关注PHP中文网其他相关文章!