我試圖在mysqli_fetch_array
上運行的WHILE循環內執行查詢。查詢提供了以下錯誤:PHP/MySQL:WHILE循環內同步查詢?
Error: Commands out of sync; you can't run this command now
我發現你不能有同步查詢。這裏是我的代碼
$query "SELECT * FROM table";
$exec = mysqli_query($con, $query);
while($loop = mysqli_fetch_array($exec)){
$data = $loop['data'];
$sim = "SELECT * FROM table2 WHERE col1 = '$data'";
$execsim = mysqli_query($con, $sim);
$getsim = mysqli_fetch_array($execsim);
$somedata = $getsim['somedata'];
//insert $somedata and $data into table3
}
經過一番研究,我發現store_result()
也許會有幫助。請原諒我的無知,因爲這對我來說是新的。沒有任何示例/解決方案可以在WHILE循環場景中使用(這是否有所作爲?) - 大多數也都是面向對象的風格。
什麼是解決這個問題最有效的方法?
我需要在循環中使用select有一個原因,我將更新 –
而不是基於第一個查詢的結果執行另一個select查詢,您可以將兩個表連接在一起並使用一個查詢。 –
我會好奇的;我認爲'SELECT * FROM table2 WHERE col1 IN(SELECT data FROM table)'將從table2獲取所有條目,其中col1與數據匹配。此時,您可以將table2.somedata和table2.col1插入到table3中。 –