|
Небольшой вопрос по поиску в блоке текста?Обсуждение темы Небольшой вопрос по поиску в блоке текста? в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Читал целый день литературу по php и скриптам , но так и не понял как решить проблему, а для вас это наверно все ... |
![]() |
|
Опции темы |
![]() |
#1 |
|
Читал целый день литературу по php и скриптам , но так и не понял как решить проблему, а для вас это наверно все просто. Хочу сделать поиск по сайту, но не по всему а только по разделу новостей. Новости находятся в бд, в таблице, в поле TEXT, то есть имеется несколько строк или абзатцев не знаю как правильно сказать. Если бы я делал поиск в файле , то это просто - открыть файл , построчно внести его в массив и уже каждую строку массива проверять на наличие какого то слова, если есть то эту новость потом на вывод. Но у меня не файл , а многострочное поле таблицы в бд, подскажите пожалуйста как мне сделать в нем проверку на наличие нужного слова в строке. Что вообще подразумевается под словом СТРОКА , это все поле в таблице считается строкой или строка это имеется в виду один обзатц в поле или вообще нужно пробовать а не спрашивать в форуме ...
|
|
![]() |
#3 |
|
|
|
![]() |
#4 |
|
vt-aas, ничего страшного.
![]() |
|
![]() |
#5 |
|
|
|
![]() |
#6 |
|
1. И опять у вас маленький недочётик в SQl (хотя на этот запрос влиять не должён, но в целом можете намучиться:
правильно писать так: "SELECT * FROM tnews WHERE MATCH (news) AGAINST ('{$poisk}*' IN BOOLEAN MODE)" Забыл об этом в предыдущем вашем вопросе. А так вроде должно работать. И попробуйте более простой оператор LIKE. Возможно он для ваших целей будет лучше |
|
![]() |
#7 | |
|
Цитата:
|
|
|
![]() |
#8 |
|
Ктса. вам примерчик один хочу предложить.
Вот представим, что в $poisk попадает то, что я вбиваю в некоем поле на страничке. И я вобью туда следующее: hello' IN BOOLEAN MODE); DROP TABLE tnews; SELECT * FROM tnews WHERE MATCH (news) AGAINST ('hello теперь посмотрите, какова будет ваша строка, после того, как php подставить вбитое мной. Правда весело? |
|
![]() |
#9 | |
|
Цитата:
|
|
|
![]() |
#10 |
|
помните что я говорил про SQL escape.
после переработки этой функцией мой запрос станет таким: hello\' IN BOOLEAN MODE); DROP TABLE tnews; SELECT * FROM tnews WHERE MATCH (news) AGAINST (\'hello Всего пара слешей, но теперь sql будет искать мою никчёмную строчку текста (и выдаст наверняка нулевой результат), а не убъёт таблицу. Разумеется защита от тэгов работать не будет, да в данном случае она и не нужна. вот регэкс для определния тэга: "<[a-zA-Z]" ничего из мной введённого под него не попадает... Защита от латиницы - ну это очень жестоко |
|
![]() |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прокрутка содержимого ul в другом блоке | fos | HTML, CSS, JavaScript | 0 | 29.09.2015 13:38 |
Какой фон сделать в блоке? | STRICKEN | Скамейка запасных | 4 | 09.04.2008 22:56 |
Небольшой опрос... | Artem A.S. | Кальянная | 2 | 26.03.2008 07:48 |
Как выравнять текст в блоке div? | Dims | HTML, CSS, JavaScript | 11 | 08.03.2008 19:21 |
Вместо текста иероглифы в поле ввода текста | IgorQ | Технологии Flash | 1 | 22.03.2007 20:49 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|