【发布时间】:2011-04-15 18:02:31
【问题描述】:
我正在尝试进行一些调用,但第二次查询失败,命令“命令不同步;你现在不能运行这个命令”的错误。
代码如下所示:
$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);,但没有用。我错过了什么?
【问题讨论】:
-
你能用这段代码重现错误吗?您将
$row推送到未定义的$arr,而$arrows未使用。不要使用@抑制错误,任何错误消息都会有所帮助。 (也许是一个有用的链接:explanation of this error on the MySQL website。) -
第二组第一种方法失败,die节点打印错误。