如何使用数组中的参数从数据库中获取结果?

时间:2013-03-01 08:57:48

标签: php mysql sql database

我有这样的表:

ID | title       | category
-----------------------------
1  | product1    | 0
2  | product2    | 0
3  | product3    | 1
4  | product4    | 1
5  | product5    | 3

我有ID的数组,如何选择带有这些ID的产品?

我的意思是这样的,但类别可以是数组中的任何值,而不仅仅是像示例中的一个值。

$result = mysql_query("SELECT * FROM product where category = '$var'");

3 个答案:

答案 0 :(得分:3)

试试这种方式

$arr = array(1,2);
$str = implode(',',$arr);

$result = mysql_query("SELECT * FROM product where category IN (".$str.") ");

请注意:尽量避免MySQL扩展,尝试使用PDO或预备语句。

答案 1 :(得分:1)

$ids = implode(',', $ids); // array(1,2,3,4) =>  '1,2,3,4'
$result = mysql_query("SELECT * FROM product WHERE category IN ('$ids')");

答案 2 :(得分:1)

除了过时mysql_* functionssql injection ...

$result = mysql_query("SELECT * FROM product where category in ('$list_of_ids')");