MySQLi 準備語句中的錯誤報告
使用 MySQLi 時,理解錯誤報告至關重要。本文深入研究了「prepare」語句傳回值的細微差別,並探討了額外錯誤處理的必要性。
「prepare」的回傳值僅指示 SQL 語句準備是否成功。為了偵測執行錯誤,需要採取進一步的措施。用以下程式碼取代「execute」呼叫可確保標記執行錯誤:
if($stmt_test->execute()) { $errorflag = true; }
此外,在語句執行後,檢查「errno」並重置「errorflag」(如果非零)可提供全面的錯誤捕獲:
if($stmt_test->errno) { $errorflag = true; }
但是,更簡潔、更全面的方法是在連接中使用以下行來啟用錯誤報告代碼:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
此設定可確保每個錯誤都報告為PHP 異常,因此無需進行細緻的手動錯誤檢查。
$stmt = $mysqli->prepare("INSERT INTO testtable VALUES (?,?,?)"); $stmt->bind_param('iii', $x, $y, $z); $stmt->execute();
透過正確的 PHP 錯誤報告配置,錯誤將根據開發或生產環境設定顯示或記錄。
以上是如何有效處理MySQLi準備語句中的錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!