(Спойлер: Название не имеет ничего общего с тем, что не так с кодом. )
Я создаю систему поиска в реальном времени, чтобы показать пользователю возможные типы событий, уже перечисленные на моем веб-сайте. Во время моих размышлений у меня может быть ошибка с привязкой по шаблону, которую я не вижу.
Я пытался использовать разные типы выражений "ГДЕ НРАВИТСЯ", и большинство из них вообще не работали. Например, я пытался использовать запрос заполнителя (вопросительный знак), и это не сработало вообще. Если я выполнил этот запрос вручную в своей базе данных, я получу ожидаемые результаты.
Так выглядит мой код, переменная $ q получается с помощью метода $ _GET.
$query = $pdo->prepare('SELECT DISTINCT EventCategory FROM Events
WHERE EventCategory LIKE CONCAT(\'%\',:q,\'%\')');
$query->bindParam(":q", $q);
$query->execute();
$row = $query->fetch(PDO::FETCH_ASSOC);
while ($row = $query->fetchObject()) {
echo "<div> $row->EventCategory </div>";
}
Ожидаемые результаты будут следующими: Если $ q равно n, возвращаются Meeting и Nightlife. Когда $ q равно ni, возвращается только Nightlife.
Поиск не чувствителен к регистру, N и n обрабатываются одинаково.
Запрос SHOW CREATE TABLE Events вернул следующее:
CREATE TABLE `Events` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(100) NOT NULL,
`Image` varchar(600) NOT NULL,
`Date` date NOT NULL,
`Description` varchar(1200) NOT NULL,
`SpacesAvailable` int(11) NOT NULL,
`EventCategory` varchar(50) NOT NULL,
`Trending` varchar(30) DEFAULT NULL,
`TrendingID` int(255) NOT NULL,
`Sale` int(255) NOT NULL,
PRIMARY KEY (`ID`)
)DEFAULT CHARSET=latin1
Изображения для отображения работы сайта: https://imgur.com/a/yP0hTm3
Пожалуйста, если вы просматриваете изображения, вид снизу вверх. Спасибо