首页 > 后端开发 > 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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板