首页 > 后端开发 > php教程 > 为什么我的 PHP MySQLi 代码中出现'命令不同步”错误,如何修复这些错误?

为什么我的 PHP MySQLi 代码中出现'命令不同步”错误,如何修复这些错误?

Linda Hamilton
发布: 2024-12-20 11:06:09
原创
338 人浏览过

Why Do I Get

命令不同步:深入探究原因和解决方案

尝试通过 mysqli 执行使用 MySQL 查询的 PHP 代码时,可能会出现以下情况:遇到错误“命令不同步;您现在无法运行此命令。”此错误表明数据库查询的顺序执行之间存在冲突。

由于 mysqli 对准备好的语句使用了无缓冲查询,因此提供的 PHP 代码出现了此问题。这意味着在任何给定时间只有最近执行的查询的结果可用。

要解决此错误,可以采取两种方法:

  1. 使用存储结果: 通过在执行准备好的语句后调用 $stmt->store_result(),该查询的结果将被缓冲。这允许执行后续查询而不会影响第一个查询的结果。
  2. 将结果提取到数组中: 或者,可以使用 $stmt-> 将第一个查询的结果提取到数组中;fetch_all().这会将数据预加载到内存中,释放连接以执行其他查询。

在提供的代码中,可以在第一个查询之后使用 $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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板