PHP 代码与 MySQL 查询中的“命令不同步”错误
使用 mysqli 执行涉及多个 MySQL 查询的 PHP 脚本时,可能会出现错误:“命令不同步;您现在无法运行此命令。”当在获取和处理前一个查询的结果或清除 MySQL 服务器的查询命令缓存之前尝试后续查询时,就会出现此问题。
问题中提供的代码执行两个查询:一个用于计算记录,另一个用于计算记录。根据搜索字符串检索行。但是,在获取第一个查询的结果之前,会执行第二个查询。这会触发“不同步”错误。
错误原因
可能的解决方案
示例
下面是使用 $stmt->store_result() 缓冲第一个查询结果的示例:
<?php $con = mysqli_connect("localhost", "user", "password", "db"); $brand ="o"; $countQuery = "SELECT ARTICLE_NO FROM AUCTIONS WHERE upper(ARTICLE_NAME) LIKE % ? %"; $con->query("SET NAMES 'utf8'"); if ($numRecords = $con->prepare($countQuery)) { $numRecords->bind_param("s", $brand); $numRecords->execute(); $numRecords->store_result(); // Buffer the results $data = $con->query($countQuery) or die(print_r($con->error)); $rowcount = $data->num_rows; }
以上是为什么在 PHP 和 MySQL 查询中出现'命令不同步”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!