Почему MATCH() и AGAINST() не работают с тремя одинаковыми параметрами?

Здравствуйте,
У меня есть поиск на сайте который ищет пользователей по имени и фамилии
"SELECT * FROM user_info WHERE MATCH(name) AGAINST('$search') OR MATCH(lastname) AGAINST('$search')"

все работало хорошо но я увидел что если в базе ест 3 или больше пользователей с одинаковым имени или фамилии то поиск не видает нечего! Почему так происходит, можете помочь?
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
@alexbobrov
web developer
Скорее всего результат поиска содержит более 50% всех записей. В этом случае возвращается пустой результат. А ещё результат будет пустой в том случае, если длинна слова в БД менее 4-х символов.

Это все потому что вы используете не по назначению fulltext поиск.

Правильней будет использовать `name` like "%{$name}%" или типа того.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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