gpt4 book ai didi

php - 我在使用 mysqli free() 成员函数时遇到问题

转载 作者:行者123 更新时间:2023-11-29 05:45:21 25 4
gpt4 key购买 nike

我有像这样连接到数据库的代码:

$db = new mysqli("localhost", "user", "pass", "company");

现在当我像这样查询数据库时:

//query calls to a stored procedure 'user_info' 
$result = $db->query("CALL user_info('$instruc', 'c_register', '$eml', '$pass', '')");
if($result->fetch_array())
{
//use the results
}
$result->close();

$result = $db->query("CALL user_info('$instruc', 's_login', '$eml', '$pass', '')");
if($result->fetch_array())
{
//use the results
}
$result->close();

我在第一个 $result->close();

后收到此错误

Fatal error: Call to a member function fetch_array() on a non-object in...

要运行这个其他查询,我必须关闭数据库连接并再次连接,然后它才能工作。我想知道是否有一种方法可以运行其他查询而无需断开连接并重新连接到数据库。

最佳答案

free() 删除与结果集相关的存储的任何数据,但它不会取消设置 $result 对象本身,所以 $result 仍然设置是完全没问题的。

不过,您仍然应该能够使用 $db 对象启动新查询。释放结果集不应影响数据库对象本身。

您能否显示在结果对象上运行 free() 后失败的查询的完整代码以及它返回的错误?

关于php - 我在使用 mysqli free() 成员函数时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2797477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com