从 mysql 表中选择 WHERE 字段='$array'?
如果我有一个数组,一些用户的ID。我怎么能做这样的事情:
$array = array(1,40,20,55,29,48);
$sql = "SELECT * FROM `myTable` WHERE `myField`='$array'";
有没有一个简单的方法来做到这一点,我想过循环数组项,然后建立一个大的“WHERE -- OR -- OR -- OR -- OR”语句,但我认为对于大型数组来说可能有点慢。
如果我有一个数组,一些用户的ID。我怎么能做这样的事情:
$array = array(1,40,20,55,29,48);
$sql = "SELECT * FROM `myTable` WHERE `myField`='$array'";
有没有一个简单的方法来做到这一点,我想过循环数组项,然后建立一个大的“WHERE -- OR -- OR -- OR -- OR”语句,但我认为对于大型数组来说可能有点慢。
用:IN
$sql = "SELECT * FROM `myTable` WHERE `myField` IN (1,40,20,55,29,48)";
您可以使用 从数组中获取列表。implode(",", $array)
您想使用 :IN
WHERE `myfield` IN (1,40,20,55,29,48)
使用内爆来构造字符串:
$sql = "SELECT * FROM `myTable` WHERE `myField` IN (" . implode(',', $array) . ")";