從 PDO 中提取錯誤訊息
嘗試從 PDO 異常中獲取錯誤訊息時,遇到空結果可能會令人沮喪。這個問題深入研究了根本問題,並提供了該問題的解決方案。
儘管將錯誤模式設為警告,但 PDO 語句及其錯誤訊息會傳回空數組。這個問題源於這樣一個事實:setAttribute 在查詢執行期間影響 PDO 的行為,而不是在語句準備期間。
在模擬準備好的語句的情況下,prepare() 函數不會與資料庫伺服器交互,導致不錯誤檢查。但是,當使用本機準備好的語句時,正如 MySQL 自 4.1 版本以來所支援的那樣,將錯誤模式設為異常應該在查詢執行時觸發異常。
要實現此目的,請使用以下程式碼:
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
透過切換到本機準備好的語句並正確設定錯誤模式,您現在應該能夠從PDO 異常中獲取訊息豐富的錯誤訊息。
以上是為什麼我的 PDO 錯誤訊息為空?的詳細內容。更多資訊請關注PHP中文網其他相關文章!