對 PHP MySQL 查詢中的「指令不同步」錯誤進行故障排除
使用 PHP 和 MySQL 時,您可能會遇到令人沮喪的「命令不同步;您現在無法執行此命令」錯誤。當連續執行多個 MySQL 查詢而沒有正確處理其非同步性質時,通常會發生這種情況。 核心問題在於 mysqli
查詢的預設無緩衝行為。
有兩種有效的解決方案可以解決這個問題:
處理第一個查詢的結果:使用$con->query()
執行初始查詢,並將結果儲存在陣列中。 後續操作應該迭代該數組,確保每個操作都是獨立執行的。
使用查詢緩衝:在準備好的語句中使用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中文網其他相關文章!