設定PDO的錯誤處理模式

2021-07-10 07:03:07 字數 866 閱讀 4442

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));

PDO錯誤處理模式

pdo中一共提供了三種不同的錯誤處理模式 pdo errmode silent 不報錯誤 pdo errmode warning 以警告的方式報錯 pdo errmode exception 以異常的方式報錯 pdo errmode silent 此為預設模式。pdo 將只簡單地設定錯誤碼,可使用 ...

PDO錯誤處理

pdo errmode silent 這是預設使用的模式。pdo會在statement和database物件上設定簡單的錯誤代號,你可以使用pdo errorcode 和 pdo errorinfo 方法檢查錯誤 如果錯誤是在對statement物件進行呼叫時導致的,你就可以在那個物件上使用 pdo...

PDO錯誤與錯誤處理

pdo錯誤處理的三種模式 引用 1.pdo errmode silent 此為預設模式。pdo 將只簡單地設定錯誤碼,可使用 pdo errorcode 和 pdo errorinfo 方法來檢查語句和資料庫物件。如果錯誤是由於對語句物件的呼叫而產生的,那麼可以呼叫那個物件的 pdostatemen...