MySQL错误:命令不同步;你现在不能运行这个命令

时间:2013-08-26 13:39:42

标签: php mysql mysqli

  

MySQL错误:命令不同步;你现在不能运行这个命令

当我每次尝试多次执行SQL过程时,我收到上述错误。

我发现它与“商店结果”有关,所以我一直试图解决它,但我还没有成功。

这是我的PHP代码:

$query = "CALL GetObjectsValue(".$FormID.")";

if( $res = $mysqli->query($query) )
{
    $mysqli->store_result();

    while ($row = $res->fetch_assoc()) 
    {

        ...

    }
    $res->free();
}

2 个答案:

答案 0 :(得分:0)

出于某种原因,对于来自存储过程的记录集,必须使用next_result()命令循环它。如果记录集直接执行SQL查询(SELECT),则情况并非如此。

$query="CALL GetObjectsValue($FormID)";
if($res=$mysqli->query($query))
{
  do
  {
    $row = $res->fetch_assoc()
    ...
  }
  while($mysqli->next_result()); //loop through recordset

  $res->free();
}

答案 1 :(得分:-1)

更改

$query = "CALL GetObjectsValue(".$FormID.")";     

$query = "CALL GetObjectsValue("$FormID")";  

注意$FormID没有点。