2016-05-07 99 views
-2

我有一個動態數組。例如像這樣。基於數組值的MySQL select查詢

$color = array('red','blue','green'); 
"SELECT * FROM mytable where colors=(red or blue or green)" 

但我的數組是動態的。所以我不知道這些值以及如何循環數組並選擇行。

+0

使用循環和迭代這個數組並獲取結果。 – Lal

+3

http://stackoverflow.com/questions/920353/can-i-bind-an-array-to-an-in-condition – Chris

+0

在mysql中使用'IN',添加你需要的佔位符的數量並綁定變量。 **編輯:**完全像@Chris提到的問題... – jeroen

回答

0

使用where in

SELECT * FROM your_table WHERE COLUMN IN $your_dynamic_array 
1

試試這個

<?php 

$color = array('red','blue','green'); 


$ss = 'SELECT * FROM mytable where colors IN ("' . implode('", "', $color) . '")'; 

output : 

SELECT * FROM mytable where colors IN ("red", "blue", "green") 

?> 
+0

不確定這將工作jothi,因爲in()期望字符串值被包裹在單引號中。 – Jeff

+0

謝謝@Jeff我更新了我的答案 – JYoThI

+0

如果我選擇紅色,它選擇的顏色=紅色的行,但如果我選擇紅色和藍色,它返回空結果..我需要像「選擇*從mytable其中顏色=紅色或藍色或綠色 – athi