首页 >后端开发 >php教程 >为什么我的 PHP mysqli 对象过早关闭,导致'mysqli 对象已关闭/无法获取 mysqli 错误”?

为什么我的 PHP mysqli 对象过早关闭,导致'mysqli 对象已关闭/无法获取 mysqli 错误”?

Barbara Streisand
Barbara Streisand原创
2024-12-03 00:57:15284浏览

Why is my PHP mysqli object closing prematurely, causing

mysqli::query(): mysqli 对象已关闭/无法获取 mysqli 错误

提供的 PHP 代码使用了一个类(EventCalendar) 管理数据库连接并执行查询。但是,错误消息表明 mysqli 对象已关闭或在获取 mysqli 错误时发生错误。

了解错误

当 mysqli 对象关闭时如果过早,后续查询将失败并出现“mysqli 对象已关闭”错误。如果在执行所有查询之前关闭 DBConnect 对象,则可能会发生这种情况。

错误的第二部分“无法获取 mysqli 错误”表明脚本尝试检索关联的错误消息与之前的 mysqli 操作一样,但无法检索到错误消息,可能是由于连接已关闭。

正在解决问题

确保 DBConnect 对象在执行所有必要的查询之前不会关闭。在提供的代码中,DBConnect 对象在 __destruct() 方法中关闭。将实际的连接终止移动到更合适的位置,例如在所有查询执行完毕并且不再需要该对象之后。

此外,请考虑在执行查询之前检查连接的状态,以优雅地处理潜在的连接问题。

修订后的代码示例

这是解决潜在关闭问题的代码的修订部分问题:

// Function to add events to Zodiac calendar

以上是为什么我的 PHP mysqli 对象过早关闭,导致'mysqli 对象已关闭/无法获取 mysqli 错误”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn