我为我正在努力的一个项目创建了一个简单的MySQLi类,使它更容易和更简化,以便从数据库中提取并推送到数据库。 (也可以更熟悉PHP中的OOP)PHP如何检查MySQLi查询是否需要关闭?
我不断遇到的一个问题是努力使其尽可能高效。我尝试关闭/释放每个查询/语句/结果集。在此过程中,我得到以下错误很多:
Warning: mysqli_result::close(): Couldn't fetch mysqli_result
我觉得我得到了上述特别是因为它试图两次关闭查询连胜。
目前,我的课程可以做好准备和准备不足的陈述。所以我尝试关闭2个地方的查询/语句。如果我已经准备好一份声明,我会在准备一份声明时检查一下,如果是这样的话,我需要先关闭一个声明,然后再做一个新声明,最后再在课堂的析构函数中进行。
我意识到我可以关闭查询/语句后,我拉和存储的结果,但这似乎是混乱的原因有几个。对于一个它删除了重复使用准备好的语句的可能性。以及不允许我在运行后查询某些查询的相关信息,例如受影响的行等。
我知道我可以只为每个查询存储这些信息,但不过它似乎正确的方式去解决这个问题将关闭/释放查询/语句,如果我需要做另一个,并且再次在脚本的末尾。
我已经试过环顾四周,阅读我应该如何妥善处理这个任务,但我一直未能拿出任何东西。
所以我的问题是,有无论如何测试是否需要关闭或释放查询或语句?还是有更好的方法我应该试图解决这个问题?
感谢您提供任何帮助或见解。
这似乎有点真实。我正在搞一些测试代码,在执行完后执行'var_dump',取出后执行另一个测试代码。他们打印相同的东西。当关闭后执行'var_dump'时,虽然你得到'属性访问不被允许',所以它显然做了一些不同的事情。虽然如果它有什么不同的效率明智的问题呢? 另外,当我将查询限制为1行(例如'LIMIT 0,1')时,它自己调用$ stmt-> fetch()不会关闭语句。虽然如果我做'while'循环和'echo'来确认只有一行,它会关闭它。 任何想法? – anomareh 2009-12-19 08:23:39