开发者社区> 问答> 正文

命令不同步;您现在不能运行此命令

我正在尝试执行我的PHP代码,该代码通过mysqli调用两个MySQL查询,并得到错误“命令不同步;您现在不能运行此命令”。

这是我正在使用的代码

query("SET NAMES 'utf8'"); $brand ="o"; $countQuery = "SELECT ARTICLE_NO FROM AUCTIONS WHERE upper(ARTICLE_NAME) LIKE % ? %"; if ($numRecords = $con->prepare($countQuery)) { $numRecords->bind_param("s", $brand); $numRecords->execute(); $data = $con->query($countQuery) or die(print_r($con->error)); $rowcount = $data->num_rows; $rows = getRowsByArticleSearch("test", "Auctions", " "); $last = ceil($rowcount/$page_rows); } else { print_r($con->error); } foreach ($rows as $row) { $pk = $row['ARTICLE_NO']; echo '' . "\n"; echo ' '.$row['USERNAME'].'' . "\n"; echo ' '.$row['shortDate'].'' . "\n"; echo ' DELETE RECORD' . "\n"; echo '' . "\n"; } function getRowsByArticleSearch($searchString, $table, $max) { $con = mysqli_connect("localhost", "user", "password", "db"); $recordsQuery = "SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME, date_format(str_to_date(ACCESSSTARTS, '%d/%m/%Y %k:%i:%s'), '%d %m %Y' ) AS shortDate FROM AUCTIONS WHERE upper(ARTICLE_NAME) LIKE '%?%' ORDER BY str_to_date(ACCESSSTARTS, '%d/%m/%Y %k:%i:%s')" . $max; if ($getRecords = $con->prepare($recordsQuery)) { $getRecords->bind_param("s", $searchString); $getRecords->execute(); $getRecords->bind_result($ARTICLE_NO, $USERNAME, $ACCESSSTARTS, $ARTICLE_NAME, $shortDate); while ($getRecords->fetch()) { $result = $con->query($recordsQuery); $rows = array(); while($row = $result->fetch_assoc()) { $rows[] = $row; } return $rows; } } } 我曾尝试阅读此书,但不确定该怎么做。我已经阅读了有关存储结果和免费结果的信息,但是使用它们时并没有什么区别。我不确定此错误的确切原因,并想知道其原因以及如何解决。 按照我的调试语句,由于我的sql语法near附近,甚至没有输入countQuery的第一个if循环'% ? %'。但是,如果我只是选择*而不是尝试根据LIKE子句进行限制,则仍然会出现命令不同步错误。

展开
收起
保持可爱mmm 2020-05-10 16:55:23 544 0
1 条回答
写回答
取消 提交回答
  • 您不能同时进行两个查询,因为mysqli默认情况下使用无缓冲查询(对于预准备语句;对于vanilla则相反mysql_query)。您可以将第一个取入数组并循环遍历,也可以告诉mysqli缓冲查询(使用$stmt->store_result())。 来源:stack overflow

    2020-05-10 16:56:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载