Поскольку исходный вопрос относится к массиву чисел, а я использую массив строк, я не смог заставить данные примеры работать.
Я обнаружил, что каждая строка должна быть заключена в одинарные кавычки для работы с функцией IN()
.
Вот мое решение
foreach($status as $status_a) {
$status_sql[] = '\''.$status_a.'\'';
}
$status = implode(',',$status_sql);
$sql = mysql_query("SELECT * FROM table WHERE id IN ($status)");
Как видите, первая функция оборачивает каждую переменную массива в single quotes (\')
, а затем выполняет развертывание массива.
ПРИМЕЧАНИЕ: $status
не содержит одинарных кавычек в операторе SQL.
Возможно, есть лучший способ добавить кавычки, но это работает.