Задать вопрос
@sawoyen

Как реализовать корректный поиск в БД?

Добрый день. Вопрос следующий: Есть необходимость создать некое подобие умного поиска. Склонился к регулярным выражениям. В форме поиска пользователь вводит любое слово/строку. Запрос к БД имеет вид:

$query ="SELECT * 
FROM main_table 
WHERE (name LIKE '%" .$word. "%') OR (message LIKE '%" .$word. "%') OR (city LIKE '%" .$word. "%') OR (tel LIKE'%" .$word. "%') OR (email LIKE '%" .$word. "%') OR (homepage LIKE '%" .$word. "%') OR (adr LIKE '%" .$word. "%') 
ORDER by name";

Но, как Вы и видите, проблема сего запроса очевидна: если в форму поиска ввести, условно говоря название и адрес, ничего не получится.
Как устранить этот нюанс? Заранее спасибо
  • Вопрос задан
  • 110 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Stepik
    PHP (pro)
    2 недели
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
@backender_ru
https://backender.ru/
sphinx?
Ответ написан
Комментировать
@sawoyen Автор вопроса
Пробовал заменить LIKE на RLIKE, однако поиск все также остался некорректным
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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