@butingeorgiy
Web-программист

Как правильно подставить значение в ... IN (?) ... с помощью метода execute()?

Задача:
Извлечь из бд строки с определенным значением id, но нюанс в том, что иногда требуется извлечь несколько строк из бд.
Например, те, у которых id равен 100, 101 или 102.
Конструкции ... WHERE id = ? не достаточно.

Моё решение:
$sql = 'SELECT * FROM table_name WHERE id IN (?)';
$query = $pdo->prepare($sql);
$query->execute([100, 101, 102]);
$result = $query->fetchAll(PDO::FETCH_ASSOC);


Также пробовал вот так:
$sql = 'SELECT * FROM table_name WHERE id IN (?)';
$query = $pdo->prepare($sql);
$query->execute(array(100, 101, 102));
$result = $query->fetchAll(PDO::FETCH_ASSOC);


Но не один вариант не работает.
Работаю с php и sql более 5 месяцев, но с такой проблемой никогда не сталкивался.

PS: подключение к бд выполнено правильно
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

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

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