Задать вопрос
@coden55

Как передать в запросе preparedstatement к mysql массив значений в IN()?

Пример запроса: SELECT users FROM table WHERE id IN(?)
Погуглив нашел обсуждение проблемы stackoverflow.com/questions/178479/preparedstateme...
из которого становится понятно что без костылей просто так массив не подставить.
Датированы ответы 2-3 года назад, может на текущий момент появилось решение?
Или остается только генерировать preparedstatement с необходимым количеством IN(?,?,?....) под каждый запрос?
  • Вопрос задан
  • 315 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • Shultais Education
    Продвинутый SQL
    1 месяц
    Далее
  • Merion Academy
    Основы реляционных баз данных SQL
    1 месяц
    Далее
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
Все так же делается.
И делается это всего лишь в пару строк.

$bind = ['somebind'];
$places = implode(', ', array_fill(0, count($bind), '?'));
$sqlpartial = " where column IN ($places) ";
Ответ написан
@vayho
Если вам уж так влом написать короткую функцию которая заполнит PreparedStatement то используйте какие нибудь библиотеки для работы с SQL. Мне на ум приходит в первую очередь JdbcTemplate из spring-jdbc.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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