1

MySQL エラー: コマンドが同期していません。現在、このコマンドを実行することはできません

SQL プロシージャを毎回複数回実行しようとすると、上記のエラーが発生します。

「ストア結果」に関係があることがわかったので、しばらく考えてみましたが、まだ成功していません。

ここに私のPHPコードがあります:

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

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

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

        ...

    }
    $res->free();
}
4

2 に答える 2

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();
}
于 2015-05-10T11:07:44.080 に答える