命令不同步:深入探究原因和解决方案
尝试通过 mysqli 执行使用 MySQL 查询的 PHP 代码时,可能会出现以下情况:遇到错误“命令不同步;您现在无法运行此命令。”此错误表明数据库查询的顺序执行之间存在冲突。
由于 mysqli 对准备好的语句使用了无缓冲查询,因此提供的 PHP 代码出现了此问题。这意味着在任何给定时间只有最近执行的查询的结果可用。
要解决此错误,可以采取两种方法:
在提供的代码中,可以在第一个查询之后使用 $stmt->store_result() 来缓冲其结果:
if ($numRecords = $con->prepare($countQuery)) { $numRecords->bind_param("s", $brand); $numRecords->execute(); $numRecords->store_result(); $data = $con->query($countQuery) or die(print_r($con->error)); $rowcount = $data->num_rows; ... }
通过实施其中一种解决方案,命令将不再不同步,并且 PHP 代码应该成功执行。
以上是为什么我的 PHP MySQLi 代码中出现'命令不同步”错误,如何修复这些错误?的详细内容。更多信息请关注PHP中文网其他相关文章!