首頁 > 後端開發 > php教程 > 儘管設定了錯誤模式,為什麼我的 PDO 錯誤訊息還是空的?

儘管設定了錯誤模式,為什麼我的 PDO 錯誤訊息還是空的?

Patricia Arquette
發布: 2024-12-18 20:45:14
原創
258 人瀏覽過

Why Are My PDO Error Messages Empty Despite Setting Error Modes?

從PDO 擷取錯誤訊息:對不完整回應進行故障排除

使用PDO(PHP 資料物件)時,擷取錯誤訊息可能具有挑戰性。當您將錯誤模式設定為顯示警告或異常,但仍無法提取預期的錯誤訊息時,就會發生此問題。

在提供的範例中,程式碼將錯誤模式設為警告:

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
登入後複製

但是 PDOStatement 和 errorInfo() 的 print_r() 語句傳回空白輸出。若要解決此問題:

  • 驗證本機準備好的語句: MySQL 驅動程式支援本機準備好的語句。確保您的 MySQL 版本相容(4.1 或更高版本)。
  • 覆寫模擬準備: 預設情況下,當 MySQL 報告支援它時,PDO 使用模擬準備語句。如果遇到問題,請嘗試明確設定PDO 驅動程式以使用本機語句:
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ATTR_PERSISTENT);
登入後複製
  • 異常處理變更: 發生錯誤時,PDO 可能會引發異常。不要使用警告,而是嘗試將錯誤模式設為異常處理:
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
登入後複製

此變更應該在執行無效的 SQL 查詢時觸發異常,為您提供必要的錯誤資訊。

以上是儘管設定了錯誤模式,為什麼我的 PDO 錯誤訊息還是空的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板