首頁 >資料庫 >mysql教程 >如何修復 PHP MySQL 查詢中的「命令不同步」錯誤?

如何修復 PHP MySQL 查詢中的「命令不同步」錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-23 01:01:09614瀏覽

How to Fix the

對 PHP MySQL 查詢中的「指令不同步」錯誤進行故障排除

使用 PHP 和 MySQL 時,您可能會遇到令人沮喪的「命令不同步;您現在無法執行此命令」錯誤。當連續執行多個 MySQL 查詢而沒有正確處理其非同步性質時,通常會發生這種情況。 核心問題在於 mysqli 查詢的預設無緩衝行為。

有兩種有效的解決方案可以解決這個問題:

  1. 處理第一個查詢的結果:使用$con->query()執行初始查詢,並將結果儲存在陣列中。 後續操作應該迭代該數組,確保每個操作都是獨立執行的。

  2. 使用查詢緩衝:在準備好的語句中使用store_result()方法。這會強制 mysqli 緩衝查詢結果,透過避免按需行獲取來防止「命令不同步」問題。

這是一個說明查詢緩衝的範例:

<code class="language-php">$countQuery = "SELECT ARTICLE_NO FROM AUCTIONS WHERE upper(ARTICLE_NAME) LIKE % ?%";
if ($numRecords = $con->prepare($countQuery)) {
    $numRecords->bind_param("s", $brand);
    $numRecords->execute();
    $numRecords->store_result(); // Buffer the results
    $data = $con->query($countQuery);
    $rowcount = $data->num_rows;
    // Proceed with your application logic
}</code>

請記住,在處理大量資料集時,啟用查詢緩衝會增加記憶體消耗。 選擇最適合您的資料量和應用程式要求的方法。

以上是如何修復 PHP MySQL 查詢中的「命令不同步」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn