从mysql表中选择WHERE field ='$ array'?

时间:2010-03-04 21:25:39

标签: php mysql select arrays

如果我有一些说法,一些ID的用户。我怎么能这样做:

$array = array(1,40,20,55,29,48);
$sql = "SELECT * FROM `myTable` WHERE `myField`='$array'";

有没有一种简单的方法可以做到这一点,我考虑循环遍历数组项,然后构建一个大的“WHERE - OR - OR - OR”语句,但我认为对于大型数组可能有点慢

2 个答案:

答案 0 :(得分:28)

使用IN

$sql = "SELECT * FROM `myTable` WHERE `myField` IN (1,40,20,55,29,48)";

您可以使用implode(",", $array)从阵列中获取列表。

答案 1 :(得分:11)

您想使用IN

WHERE `myfield` IN (1,40,20,55,29,48)

使用implode构造字符串:

$sql = "SELECT * FROM `myTable` WHERE `myField` IN (" . implode(',', $array) . ")";