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中文網其他相關文章!