|
|
|||||
Регистрация: Jun 2002
Адрес: Moldova
Сообщений: 6
|
My-SQL_query - help!!
Друзья! Помогите пожалуйста с my-sql запросом. Задача такая. Делаю поиск по ключевому слову.
Есть форма, в которую юзер вводит ключевое слово. Посылается как переменная $search. Пишу запрос так: SELECT * FROM novosti WHERE content LIKE '%$search%' Таким образом получаю все записи, в которых СОДЕРЖИТСЯ $search. Неплохо, НО, мне нужно, чтобы искалось только слово целиком, то есть если ввели "НА", то найти нужно только "НА", а не "НАчало", "каНАл", "весНА" и т.д. Вторая проблема - LIKE ищет с учетом регистра, а мне нужно, чтобы регистр не учитывался. Надеюсь, проблему описал понятно. Буду очень признателен за помощь!!! PHP&MySQL-Lamer. |
|
|||||
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Используй regexp вместо like. И не забудт прочесть соответствующее место в книжке.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
Регистрация: Nov 2002
Сообщений: 13
|
Re: My-SQL_query - help!!
Цитата:
PS Совет начинающему is to положить на mySQL и начать сразу мучать постгрес - он того стоит + переучиваться не придется. |
|
|||||
"simple"
|
2amazon
Так LIKE же и не чувствителен к регистру... SELECT * FROM novosti WHERE content LIKE '% $search %' |
|
|||||
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
А он во всех нормальных SQL'ных СУБД нечувствителен к регистру. Регистрозависимый LIKE, насколько я помню, есть исключительно багофича PostgreSQL.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
из хелпа:
Чувствительность к регистру оператора LIKE
В MySQL для чувствительности к регистру всех операторов, сравнивающих символы, в том числе LIKE, необходимо присутствие атрибута BINARY хотя бы в одном месте - либо в типе поля команды CREATE TABLE, либо рядом с именем поля в операторе сравнения. Однако чувствительность к регистру всегда можно подавить, используя функцию TO-LOWER.
__________________
Спирт - враг ваш! Гоните его! | Flash/Flex Blog |
|
|||||
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
А что, при использовании lower() использование индексов не отвалится?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
блин у меня похожая проблема, но с точностью дло наоборот - у меня в подвиндусзном муСКуЛе REGEXP регистрозависимый
причем у хостингпровайдера все нормально, а у меня нет мож кто знает в каких настройках это фиксится, а то нужно базу лопатить по сложным regexp'ам и для проверки приходится все на провайдера сливать ... неудобняк...
__________________
ушел в ruFlash... |
|
|||||
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Регистронезависимые regexp'ы в MySQL с версии 3.23. Какая версия у тебя?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
Часовой пояс GMT +4, время: 15:18. |
|
« Предыдущая тема | Следующая тема » |
|
|