| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Поиск по сайту |
| Автор: chem1 15.1.2004, 11:36 |
| Организовываю поиск по сайту (PHP+SQL). Делаю выборку так SELECT * FROM table WHERE name LIKE '$search' где $search - искомое выражение из формы поиска. Проблема в следующем, при таком подходе, если в базе забито "Какое небо голубое", а я ищу по слову "небо" - ничего не найдено, "небо голубое" - ничего не найдено, "какое небо голубое" - выдает искомую строку. Хотелось бы чтобы в первых 2х случаях он её находил так-же. |
| Автор: MuToGeN 15.1.2004, 11:38 |
| SELECT * FROM table WHERE name LIKE '%$search%' |
| Автор: IZ@TOP 15.1.2004, 14:13 |
| Да, прикольно это ... пишешь себе в форме поиска что то на подобии '; drop table table; и радуешся жизни |
| Автор: Бекетов Роман aka Yaiu 15.1.2004, 14:55 |
| так проверяй на входе че тебе дают вот тут Дмитрий Котеров специально статью написал про это http://dklab.ru/chicken/nablas/30.html |
| Автор: IZ@TOP 15.1.2004, 16:07 |
| Бекетов Роман aka Yaiu, Это надо знать всем. |
| Автор: Unregistered 15.1.2004, 16:42 | ||
И откуда узнаешь, что надо писать table? |
| Автор: IZ@TOP 15.1.2004, 16:47 |
| Можно попытаться. |
| Автор: MuToGeN 15.1.2004, 16:49 |
| '; show tables; (может, прокатит, может, нет - зависит от твоего скрипта) |
| Автор: Гость_IZ@TOP 15.1.2004, 16:59 |
| MuToGeN, это да... |
| Автор: MuToGeN 15.1.2004, 17:50 |
| И вообще это дело "SQL injections" зовется. |