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中文网其他相关文章!