Возможный дубликат:
Как создать PDO-параметризованный запрос с помощью инструкции LIKE в PHP?
Отчет PHP PDO – запрос mysql LIKE
Я пытаюсь создать поисковую систему для своего веб-сайта, и сейчас я просто пытаюсь убедиться, что соединение – все и хорошо. Вот мой код:
EDITED CODE (все еще не работает, но вот где я нахожусь с предложениями до сих пор):
$db = new PDO("mysql:host=".DB_SERVER.";dbname=".DB_NAME, DB_USER, DB_PASS); $stmt = $db->prepare("SELECT * FROM table_1 WHERE name LIKE ? ORDER BY bid DESC"); $stmt->bindParam(1, "%{$_GET['s']}%", PDO::PARAM_STR); $stmt->execute(); $rows = $stmt->fetchAll();
Я попытался понять, будут ли разные методы execute
делать что-либо, но независимо от того, каким образом выше я пишу его, я получаю тот же результат, ничего. Я хочу, чтобы подстановочный шаблон %
там, поэтому он будет искать в любом месте по name
. На этой ноте я использую его правильно? То, что меня больше всего смущает, – это когда я вхожу в тот же самый запрос в PHPMyAdmin, запрос проходит отлично, поэтому я предполагаю, что где-то я привожу PDO.
EDIT: PHPMyAdmin Query:
SELECT * FROM table_1 WHERE name LIKE '% Test%' ORDER BY bid DESC LIMIT 0, 30
Это возвращает 1 результат, как ожидается. Чем отличается мой код и этот запрос? : /