当我有一个mysqli_multi_query后跟一个mysqli_query时,第二个查询失败

时间:2011-08-01 18:57:11

标签: mysql select mysqli multi-query

我有一个自我调用的php表单,它应该更新数据库,然后显示更改。这是代码的基本概念:

IF($condition)
    mysqli_multi_query($dbc,$multiple_update_query_str);
$result = mysqli_query($dbc,$select_query);
while($row = mysqli_fetch_array($result))
    echo    $row[0] . " " . $row[1] . " " . $row[2] . "<br>";

第一次,当$ condition为false时,select查询工作正常。然后当$ condition为true时,更新发生在数据库上,但select查询失败。

我的第一个想法是php服务器领先于mySQL服务器,所以我在退出if语句之前使用了sleep(5),但select仍然失败。

我甚至写了一个非常基本的php文件,几乎就是这段代码。它有同样的问题。有什么我想念的吗?

1 个答案:

答案 0 :(得分:1)

在使用mysqli_query之前,您必须检索multy_query的所有结果以解锁链接连接

尝试:

if($condition){
    mysqli_multi_query($dbc,$multiple_update_query_str);
    while(mysqli_next_result($dbc)){;}
}