Выбрать из mysql таблицы ГДЕ поле =' $array'?

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

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

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

16
задан tarnfeld 4 March 2010 в 21:25
поделиться

2 ответа

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

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

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

27
ответ дан 30 November 2019 в 16:36
поделиться

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

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

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

$sql = "SELECT * FROM `myTable` WHERE `myField` IN (" . implode(',', $array) . ")";
11
ответ дан 30 November 2019 в 16:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: