|
Небольшой вопрос по поиску в блоке текста?Обсуждение темы Небольшой вопрос по поиску в блоке текста? в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Читал целый день литературу по php и скриптам , но так и не понял как решить проблему, а для вас это наверно все ... |
|
Опции темы |
25.02.2010, 16:49 | #1 |
|
Читал целый день литературу по php и скриптам , но так и не понял как решить проблему, а для вас это наверно все просто. Хочу сделать поиск по сайту, но не по всему а только по разделу новостей. Новости находятся в бд, в таблице, в поле TEXT, то есть имеется несколько строк или абзатцев не знаю как правильно сказать. Если бы я делал поиск в файле , то это просто - открыть файл , построчно внести его в массив и уже каждую строку массива проверять на наличие какого то слова, если есть то эту новость потом на вывод. Но у меня не файл , а многострочное поле таблицы в бд, подскажите пожалуйста как мне сделать в нем проверку на наличие нужного слова в строке. Что вообще подразумевается под словом СТРОКА , это все поле в таблице считается строкой или строка это имеется в виду один обзатц в поле или вообще нужно пробовать а не спрашивать в форуме ...
|
|
25.02.2010, 20:50 | #3 |
|
|
|
25.02.2010, 21:28 | #4 |
|
vt-aas, ничего страшного.
|
|
25.02.2010, 23:02 | #5 |
|
|
|
25.02.2010, 23:50 | #6 |
|
1. И опять у вас маленький недочётик в SQl (хотя на этот запрос влиять не должён, но в целом можете намучиться:
правильно писать так: "SELECT * FROM tnews WHERE MATCH (news) AGAINST ('{$poisk}*' IN BOOLEAN MODE)" Забыл об этом в предыдущем вашем вопросе. А так вроде должно работать. И попробуйте более простой оператор LIKE. Возможно он для ваших целей будет лучше |
|
26.02.2010, 06:24 | #7 | |
|
Цитата:
|
|
|
26.02.2010, 11:21 | #8 |
|
Ктса. вам примерчик один хочу предложить.
Вот представим, что в $poisk попадает то, что я вбиваю в некоем поле на страничке. И я вобью туда следующее: hello' IN BOOLEAN MODE); DROP TABLE tnews; SELECT * FROM tnews WHERE MATCH (news) AGAINST ('hello теперь посмотрите, какова будет ваша строка, после того, как php подставить вбитое мной. Правда весело? |
|
28.02.2010, 08:25 | #9 | |
|
Цитата:
|
|
|
28.02.2010, 18:06 | #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 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|