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