2017-11-18 44 views
0

如何根據分解變量(數組)使用多個where子句運行查詢?在查詢中使用分解變量而不必循環

$original = "123,44,55,66"; 
$exploded = explode(",", $original); 
foreach($exploded as $var) 
{ 
    $query = $mysqli->query("SELECT name FROM my_table WHERE id = $var"); 
} 

我不想使用查詢本身foreach循環,因爲它使用了大量的資源,並通過大量的減慢加載時間的頁面,所以這怎麼能實現呢?

回答

3

您可以查詢檢查由這樣你會得到不foreach循環導致

查詢:

$mysqli->query("SELECT name FROM my_table WHERE id in (123,44,55,66) "); 
2

根據你的代碼,您的每一次查詢獲取覆蓋,因此你會得到最後的選定的數據。您可以使用IN運算符來獲得結果。
請改爲嘗試此操作: -

$original = "123,44,55,66"; 
$query = $mysqli->query("SELECT name FROM my_table WHERE id in ($original)");