2016-11-16 6 views
0

いくつかの値を持つ配列があります。私は、値が配列内のものと等しくないテーブルから何かを取得したいテーブル内の複数の値から配列内にない場所を選択

$myarray_example = array(1.1,2.5); 

表の例:私は唯一の3.10値

を取得したい。この例ではそう

id value 
1  1.10 
2  1.10 
3  2.50 
4  2.50 
5  3.10 
6  3.10 

クエリ

SELECT value FROM table 
WHERE value NOT IN ($myarray_example) 

それはすべてを返します。 'WHERE value IN ..'を使用すると、何も返されません。

これはなぜ起こるのですか?

+0

例の配列では、これらは 'string' /' varchar'値、 '1.1' <>' 1.10'および '2.5' <>' 2.50'のように見えるので、 – Siyual

+0

こんにちは、明確にするために、私は数字を渡しています。それは私のポストの間違いだった。配列とテーブルの両方の数値はfloatです – giancy9

答えて

1
$query = " SELECT value FROM table "; 
$query .= " WHERE value NOT IN ("; 

$count = 0; 
foreach($myarray as $item) { 
    $query .= $item; 
    if ($count != count($myarray) - 1) 
     $query .= ","; 
    $count++; 
} 

$query .= ")"; 
+0

こんにちは感謝します。私はちょうどあなたが示唆したものに似た何かを使用し、それは動作します。 – giancy9

関連する問題