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

tar*_*eld 16 php mysql arrays select

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

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

有没有一个简单的方法来做到这一点,我想到循环数组项,然后建立一个大的"WHERE - OR - OR - OR"语句,但我认为对于大型数组可能有点慢.

Pek*_*ica 27

用途IN:

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

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


Mar*_*ers 11

你想用IN:

WHERE `myfield` IN (1,40,20,55,29,48)
Run Code Online (Sandbox Code Playgroud)

使用implode构造字符串:

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