2016-05-07 4 views
-2

私は動的配列を持っています。たとえば、次のようにします。配列の値に基づいてMySQLのクエリを選択

$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

in()が文字列の値を一重引用符で囲むことを期待しているので、これがjothiで動作するかどうかわかりません。 – Jeff

+0

ありがとう@Jeff私は答えを更新 – JYoThI

+0

私は赤を選択すると、それは色=赤が、私は赤と青を選択した行を選択している、それは空の結果を返しています..私は "SELECT * FROM mytable where colors =赤色または青色または緑色 – athi

関連する問題