mySQL WHERE IN with array

时间:2012-02-17 11:11:43

标签: php mysql

我有一维数组$ abc。

$abc = array (90, 91, 92, 93, 94, 95, 96, 97, 98, 99);

我想在WHERE IN中使用它

SELECT *
FROM table
WHERE columnA IN ()

while (){
$def[] = $row['def'];  
} 

当我使用简单的IN('$ abc')时,我有一个响应 - 未定义的变量:def

如何正确地做到这一点?

3 个答案:

答案 0 :(得分:2)

您可以使用implode()功能:

$abc = array (90, 91, 92, 93, 94, 95, 96, 97, 98, 99);
$str = implode(',', $abc);

现在,您可以在$str子句中使用IN


详细了解implode()功能。

答案 1 :(得分:0)

implode让您轻松

$query='SELECT *
FROM table
WHERE columnA IN ('.implode(',', $abc).')';

答案 2 :(得分:0)

尝试:


$abc = array (90, 91, 92, 93, 94, 95, 96, 97, 98, 99);
$imploded = implode(",", $abc);
//then your query
SELECT *
FROM table
WHERE columnA IN ($imploded)

希望有所帮助