Выберите из таблицы mysql WHERE field = '$ array'?

Если у меня есть массив, скажем, некоторый идентификатор пользователей. Как я могу сделать что-то вроде этого:

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

Есть ли простой способ сделать это, я подумал о том, чтобы перебирать элементы массива, а затем создавал один большой оператор "WHERE-OR-OR-OR", но я думал, что это может быть немного медленным для больших массивов.

Ответы

Ответ 1

Используйте IN:

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

вы можете использовать implode(",", $array), чтобы собрать список из массива.

Ответ 2

Вы хотите использовать IN:

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

Используйте implode для построения строки:

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