Ошибка в запросе БД: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fulltext) AGAINST ('>\"транспорт\" <+транспо*' IN BOOLEAN MODE)' at line 3 SELECT id FROM cms_con_novosti WHERE is_pub = 1 AND MATCH(title, fulltext) AGAINST ('>\"транспорт\" <+транспо*' IN BOOLEAN MODE) Последние вызовы: getSearchResultsCount() @ M:\domains\mline.el\system\controllers\search\actions\index.php : 101 search() @ M:\domains\mline.el\system\controllers\search\actions\index.php : 25 run() call_user_func_array() @ M:\domains\mline.el\system\core\controller.php : 382 runExternalAction() @ M:\domains\mline.el\system\core\controller.php : 308 runAction() @ M:\domains\mline.el\system\core\core.php : 687 runController() @ M:\domains\mline.el\index.php : 35
Как исправитть ошибку в БД?
ЕСТЬ РЕШЕНИЕ
ЗАКРЫТО
#1
19 мая 2016 в 10:41
2.5.1 есть несколько типов контента, везде примерно одинаковые типы полей. Если в компоненте поиск включены пару типов, поиск работает, стоит включить ещё один (практически такой же) как отладчик выдаёт ошибку:
Ничего не пойму. Структура таблиц одинаковая. Help my!!!
#2
19 мая 2016 в 11:26
А в таблице cms_con_novosti есть поле fulltext ?
Еще надо учесть, что при работе с MATCH запрещено использовать в качестве имен полей зарезервированные слова.
И хоть fulltext в зарезервированных не значится, но может именно оно мускулу не нравится?
Вообще, у меня такой запрос выглядит так:
И никакого фултекста…
Еще надо учесть, что при работе с MATCH запрещено использовать в качестве имен полей зарезервированные слова.
И хоть fulltext в зарезервированных не значится, но может именно оно мускулу не нравится?
Вообще, у меня такой запрос выглядит так:
SELECT id FROM cms_con_articles WHERE is_pub = 1 AND MATCH(title) AGAINST ('>\"транспорт\" <+транспо*' IN BOOLEAN MODE)
#3
19 мая 2016 в 11:31
Оказалось, что в мускуле есть методы полнотекстового поиска Fulltext search. Угораздило же меня именно так назвать поле!
Вывод: Никогда не называйте поля системными именами мускула! Всё починил.
Вывод: Никогда не называйте поля системными именами мускула! Всё починил.