使用 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中文網其他相關文章!