Alexanevsky
@Alexanevsky
Любительская web-разработка

Как использовать в bindValue запятую?

Запрос:
$query = "SELECT * FROM somewhere WHERE something IN ( :anything )"


Далее биндим:
$string->bindValue( ':anything ', $anything, PDO::PARAM_STR );


А переменная у нас такая:
$anything = '1,2,3';

И таким образом, ищется только то, где something IN (1),
а вот 2 и 3 отпадают. Почему-то.

Вопрос 1. Как сделать так, чтобы искались все, а не только то, что до запятой?

Работает только если засунуть переменную сразу в запрос, но что-то мне подсказывает что это неправильно:
$query = "SELECT * FROM somewhere WHERE something IN (" . $anything . ")"


Вопрос 2. Чем чреват такой метод, если он работает?
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
Minifets
@Minifets
Hello world!!!
https://stackoverflow.com/questions/920353/can-i-b... - тут есть ответ на ваш вопрос.

Если кратко, то вам нужно каждый параметр массива биндить отдельно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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