ArtDenis
@ArtDenis
Разработчик сайтов и мобильных приложений

WHERE запрос с IN в Mysqli — как?

Привет всем.

В общем проблема следующая:
Есть запрос:
$query = $mysqli->prepare('SELECT id FROM Publication WHERE id in (?)');
        $query->bind_param('s', $field_cat);
        $query->execute();

Где $field_cat = "1,2,4";

Как я понял, благодаря bind_param, в запрос вставляется только (1). И запрос выполняется не так, как хотелось.

Нашел две похожие темы:
WHERE запрос в Mysql — как?
Как в MySQLi сделать поиск по параметрам, если их ...

В обоих случаях решением является Safemysql.
Я бы не хотел использовать эту библиотеку, так как уже поздно переписывать запросы. Не уже ли в mysqli нету нормального решения?
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
@IceJOKER
Web/Android developer
$field_cat = "1,2,4";
$exploded = explode(',', $field_cat);
$query = $mysqli->prepare('SELECT id FROM Publication WHERE id in (?, ?, ?)');
$query->bind_param('iii', $exploded[0], $exploded[1], $exploded[2]);
$query->execute();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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