PDO默認的錯誤處理方式是返回一個數組格式的錯誤代碼。若是想要判斷SQL有沒有出錯時,就須要寫一組代碼來檢測這個返回的數組。以爲這樣有些麻煩。還好PDO還提供了另外兩種處理方式,只要根據須要設置一下就OK了。
方式一:PDO::ERRMODE_SILENT
這是默認使用的模式。PDO會在statement和database對象上設定簡單的錯誤代號,可使用PDO->errorCode() 和 PDO->errorInfo() 方法檢查錯誤;
方式二:PDO::ERRMODE_WARNING
使用這個模式時,PDO將會發出一個傳統的E_WARNING信息。
方式三:PDO::ERRMODE_EXCEPTION
PDO會拋出一個PDOException異常並設置它的屬性來反映錯誤代號和錯誤信息。
設置的時候要注意,這三個都是屬於PDO::ATTR_ERRMODE屬性的值,因此在用setAttribute設置的時候須要加上屬性名:PDO::ATTR_ERRMODE。
代碼舉例:
$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
應用場景:
在你實例化 pdo 後,執行
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
一般在實例化時加入,例
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));mysql