PHP PDO, похоже, не поднимает первый знак вопроса - PullRequest
0 голосов
/ 14 февраля 2012

Я пытаюсь составить готовый запрос, который можно использовать для выбора любого количества пользователей, а также отфильтровать их от основных функций поиска.

Это выглядит так:

$ALL_MEMBERS = $database->prepare("SELECT * FROM Users WHERE Username LIKE '%?%' LIMIT ?, ?")

Но PDO, похоже, не подхватывает это первое '?'между '%'.Любая идея, почему?

(Это дает мне ошибку, когда я даю 3 параметра, говоря, что есть неправильное количество, тогда как это не дает, когда даю два параметра)

Ответы [ 2 ]

4 голосов
/ 14 февраля 2012

Вы, вероятно, путаете PDO там с кавычками и процентами, он ищет?отметка.Запишите его как:

$database->prepare("SELECT * FROM Users WHERE Username LIKE ? LIMIT ?, ?");

И затем укажите первую переменную как:

$database->execute(array('%'.$A.'%',$B,$C));
2 голосов
/ 14 февраля 2012

Я считаю, что вам нужно сделать это:

$ALL_MEMBERS = $database->prepare("SELECT * FROM Users WHERE Username LIKE ? LIMIT ?, ?")

PDO уже должен обернуть строки для вас.

...