我制作了一个PHP / MySQL(i)网站应用程序,我收到了这个可怕的错误,"命令不同步;你现在不能运行这个命令"。
我有与数据库的连接。
(PS - 这与所有其他类似标题的问题不同 - 我已经完成了所有这些。我想要做的是打开第一个查询,关闭第一个查询,然后打开第二个查询。我不想执行一次多个语句,或同时打开多个结果集)
这是我正在做的事情:
<?php
$sql = 'CALL spSelectProductAndVendor(1, 1)';
$rs = $mysqli->query($sql);
echo($mysqli->error);
if ($rs->num_rows > 0) {
while ($row=$rs->fetch_assoc()) {
echo '<h1 class="page-header">' . $row["productname"] . '<small> pertaining to vendor: ' . $row["vendorname"] . '</small></h1>';
}
}
$rs->close();
?>
HTML / CSS
<?php
$sql = 'CALL spSelectRecentDocumentScores();';
$rs = $mysqli->query($sql);
echo($mysqli->error);
if ($rs->num_rows > 0) {
while ($row=$rs->fetch_assoc()) {
if($row["totalwarnings"]>50) { echo '<tr class="danger">'; } else { echo '<tr class="active">'; }
?>
<td><a href="documentdetail.php?documentid=<?php echo $row["documentid"]; ?>" style="color:#000000"><?php echo $row["documentid"]; ?></a></td>
<td>etc...</td>
</tr>
<?php
}
}
?>
为什么这个错误只发生在SECOND电话上?
$rs = $mysqli->query($sql);
第一个工作正常。第二个没有。但我正在关闭第一个$ rs。那么缺少什么?
答案 0 :(得分:0)
想出来..需要添加$ conn-&gt; next_result();第一个结果集关闭后:
$rs->close();
$mysqli->next_result();
然后可以安全地打开第二个$ rs。