SELECT * FROM `your_table_name` WHERE `id` IN (1,2,3,4,5);
— запросит записи с идентификаторами 1, 2, 3, 4 и 5. Убедитесь, что подстановка в запрос осуществлена верно. ? может быть экранирован как строка, как вариант можно подставить числа по отдельности (зависит от обертки над базой данных и выходит за рамки вопроса), например:
$numbers = array_slice(explode('|', trim($q, '|')), 0, 5); // == [1, 2, 3, 4, 5]
$params = implode(',', array_fill(0, 5, '?')); // == '?,?,?,?,?'
$sql = " ... WHERE id IN ($params)"; // ваш запрос, с параметрами
// далее, псевдокод
foreach ($numbers as $index => $number) $yourEngine->bindParam($index + 1, $number);
FanatPHP, в ответе правильный код, в комментарии дополнение, не относящееся к существу вопроса. Во-первых, Вы не указали, каким движком для работы с базой данных Вы пользуетесь (PDO, mysqli, какая-то ActiveRecord / ORM прослойка или конструктор запросов, и т.д.?). Во-вторых, в комментарии был добавлен условный псевдокод возможного использования с чем-то похожим на PDO. А суть ответа: 1) разбить строку, 2) взять первые 5 элементов и 3) добавить их в условие IN в соответствии с используемым движком.
Не надо юлить и оправдываться.
С чем-то похожим на пдо этот код работать не будет.
Если "всякие обертки" выходят за рамки вопроса, то и не надо писать код, который их использует.
FanatPHP, в ответе указано, что использование привязки значений - отдельный вопрос, и даны ссылки на пример документации исходя из предположения без Ваших уточнений в вопросе. А вести себя фамильярно и требовать тоже не стоит.
Чувачок. Ты уже весь извертелся.
В своем ответе ты в пример приводишь функции ПДО. С которыми твой код работать не будет. Что делает ответ бессвязным и нелогичным.
Тебе на это указали в комментарии
Надо молча исправить ответ и поблагодарить.
А не выдумывать про "движки бывают разные" и потом вертеться как уж на сковородке, лишь бы не поранить свое драгоценное самолюбие.
Тьфу, противно
FanatPHP, комментарий "запросит только 1 запись", пояснение - "нет, IN выдаст 5 записей". Я не обратил внимания на ник, подумал, автор вопроса уточняет, и дал понять, что конкретное решение, а не псевдокод, возможно, если указать движок, с которым автор работает. Ни один вариант до этого в полном объеме работать не будет и менять что либо объективного нет смысла. Показан примерный вариант решения и не более. Грубостью Вы точно ничего не решите, а дополнить ответ мне не сложно. Больше времени ушло, чтобы добиться от Вас деликатности и такта.