我正在尝试进行一些调用,但第二次查询失败,命令'命令不同步;你现在不能运行这个命令'错误。
代码如下所示:
$sql="call listReport();";
$results = mysqli_query($link,$sql);
$arr=array();
while($row=mysqli_fetch_array($results)) {
array_push($arr,$row);
}
mysqli_free_result($results);
// then I have this
// but this fails, giving the above mentioned error
$stmt = @mysqli_prepare($link,"select ........") or die(mysqli_error($link));
@mysqli_stmt_bind_param($stmt, 's', $s);
@mysqli_stmt_execute($stmt);
@mysqli_stmt_bind_result($stmt, $s);
@mysqli_stmt_fetch($stmt);
@mysqli_stmt_close($stmt);
我实际上使用了mysqli_free_result($results);
但是没有用。我错过了什么?
答案 0 :(得分:1)
问题是mysql存储过程可以返回各种结果集,所以你应该使用mysqli_multiquery