在之前的文章中給大家帶來了《PHP數據庫學習之怎樣使用PDO獲取查詢結果?》,其中詳細的介紹了怎樣使用PDO獲取查詢結果的相關知識,本篇我們一起來看一下PHP中怎樣進行PDO的錯誤處理,希望對大家有幫助!
在之前的學習中我們已經學會出來了通過PDO獲取查詢結果,那接下來就要學習一下PDO的錯誤處理, 在 PDO 中有兩個獲取程序中錯誤信息的方法,分別是 errorCode()
方法和 errorInfo()
方法。接下來我們就一起來看一看這兩種方法的應用吧。
在了解errorCode() 方法和 errorInfo() 方法是怎樣進行錯誤處理的方法之前,我們先來看一下PDO中的錯誤處理模式。
PDO的錯誤處理模式
在PDO 中一共提供了三種不同的錯誤處理模式,它們不僅可以滿足不同風格的編程,也可以調整擴展處理錯誤的方式。那接下來就給大家介紹一下這三種不同的錯誤處理方式。
-
PDO::ERRMODE_SILENT
PDO::ERRMODE_SILENT
表示的為默認模式,在這種情況下發生錯誤的時候 ,PDO會簡單的設置一下錯誤碼,不會做其他的任何操作,同時也可以使用PDO::errorCode()
和 PDO::errorInfo()
這兩個方法來檢查語句和檢查數據庫對象。
我們需要注意的是,如果錯誤出現的原因是因為調用語句對象,那么可以調用這個對象的PDOStatement::errorCode() 或 PDOStatement::errorInfo() 方法。如果錯誤出現的原因是因為調用數據庫對象而產生的,那么可以在數據庫對象上調用PDOStatement::errorCode() 或 PDOStatement::errorInfo() 這兩種方法。
-
PDO::ERRMODE_WARNING
PDO::ERRMODE_WARNING 模式可以設置錯誤代碼,當然了它除了會設置錯誤碼之外,PDO還會發出一條信息,這條信息是很傳統的E_WARNING 信息。在我們需要調試或者測試的時候,不想中斷程序但是想弄清楚發生了什么問題的時候。PDO::ERRMODE_WARNING 這個模式就到了發揮作用的時候了
-
PDO::ERRMODE_EXCEPTION
PDO::ERRMODE_EXCEPTION 模式也可以設置錯誤碼,初看能夠設置錯誤碼之外,PDO還能夠拋出一個 PDOException 異常類并設置它的屬性來反射錯誤碼和錯誤信息。PDO::ERRMODE_EXCEPTION 模式在調試的時候也是非常有用的,它可以非常快速地指出代碼中有問題的潛在區域,因為它會有效地放大腳本中產生錯誤的點。
PDO 使用 SQL-92 SQLSTATE
來規范錯誤碼字符串,不同 PDO 驅動程序負責將它們的本地代碼映射為適當的 SQLSTATE 代碼。PDO::errorCode()
方法返回一個單獨的 SQLSTATE
碼。
如果需要