Если у меня есть массив, скажем, некоторые идентификаторы пользователей. Как я могу сделать что-то вроде этого:
$array = array(1,40,20,55,29,48); $sql = "SELECT * FROM `myTable` WHERE `myField`='$array'";
Есть ли простой способ сделать это, я подумал о том, чтобы перебирать элементы массива, а затем создавал один большой оператор «WHERE-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)
Используйте implode для построения строки:
$sql = "SELECT * FROM `myTable` WHERE `myField` IN (" . implode(',', $array) . ")";