Косяк с поиском :( ....

Bulbazavr

Guest
Косяк с поиском :( ....

Почему при попытке выбрать из базы таким образом :SELECT * FROM base where name LIKE '%$search_text%' , выводится полное совпадение и совпадение по любым буквам присутствующим в запросе.Напр. я ищу слово "масло" ,но у меня выводится : Кемеровское ОАО "Азот" .Как оставить только полное совпадение ?
 

Bulbazavr

Guest
конечно,масло то тоже находит,а вместе с ним и всякие остальные вещи
 

Bulbazavr

Guest
Что-то я не могу найти там статьи про поиск :(
 

Bulbazavr

Guest
Все понял,просто там все стало по другому :)
 

Bulbazavr

Guest
Все это конечно хорошо,но проблема осталась,если использовать LIKE,то выводится много лишнего,а вот как это убрать не понятно,но нужно использовать именно LIKE,т.к. нужно находить не только точное совпадение,а и присутствие $search_text,внутри какого либо слова :((
 

RomikChef

Guest
Ну извини - компьютеры еще телепатии не научили.
И находят они не то, что ты хотел найти - "без мусора", а именно то, что искал - все записи, в которых встречается такая подстрока.

Ты в яндексе тоже всегда по одному слову ищешь?
 

Mikkka

Guest
могут быть заморочки с локалями в самом MySQL.
 

Bulbazavr

Guest
Дело в том,что он не просто выводит все записи в которых встрчается такая подстрока,а такое ощущение,что он разбивает запрос по две буквы и ищет по ним,т.к. выводит еще и слова в которых просто встречаются такие пары букв.Т.е. если я ищу "масло" он выводит все слова в которых встречается "ма" и "ло".
 

Mikkka

Guest
похоже на то что у тебя mysql неправильно трактует русские буквы в LIKE... у меня такое было, mysql путал русские буквы между собой.
пришлоись пинать админа чтобы он настроил сервак.
 

Bulbazavr

Guest
ВСЁ!!! спасибо,оказывается у меня на локальном компьютере mysql неправильно работает,на хостинге все ок.
 
Сверху