如果我有一些说法,一些ID的用户。我怎么能这样做:
$array = array(1,40,20,55,29,48);
$sql = "SELECT * FROM `myTable` WHERE `myField`='$array'";
有没有一种简单的方法可以做到这一点,我考虑循环遍历数组项,然后构建一个大的“WHERE - OR - OR - OR”语句,但我认为对于大型数组可能有点慢
答案 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) . ")";