首頁 > 後端開發 > php教程 > 為什麼我的 MySQLi 查詢沒有拋出異常,如何修復它?

為什麼我的 MySQLi 查詢沒有拋出異常,如何修復它?

Patricia Arquette
發布: 2025-01-03 19:12:39
原創
727 人瀏覽過

Why Aren't My MySQLi Queries Throwing Exceptions, and How Can I Fix It?

使用 MySQLi 異常增強錯誤處理

在嘗試簡化錯誤處理時,您正在將 MySQLi查詢錯誤轉換為異常時遇到了困難.

問題描述:

儘管在自訂包裝類別中將 mysqli_report(MYSQLI_REPORT_STRICT) 與過程 MySQLi函數結合使用,但查詢失敗仍然不會導致發出警告或異常,因此需要手動檢查回傳值mysqli_query().

答案:

要解決此問題並強制MySQLi拋出異常,請使用以下命令列:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
登入後複製

解釋:

mysqli_report() 的預設行為是報告警告和錯誤。然而,透過設定 MYSQLI_REPORT_ERROR 標誌,MySQLi 被指示只報告錯誤,這與拋出異常的期望行為一致。

重要提示:

避免包裝每個在try-catch 區塊中進行查詢,因為最好的做法是利用站點範圍的錯誤處理程序來管理大多數錯誤,而不是而不是在特定位置處理它們。

以上是為什麼我的 MySQLi 查詢沒有拋出異常,如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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