Полнотекстовый поиск в MySQL (проблема)

Kikher

Новичок
Полнотекстовый поиск в MySQL (проблема)

сделал (пытаюсь) поиск по базе.
его код:
PHP:
<?php 
include( "../config/config.php" );
    $s = $_GET['q'];
    
    $result = mysql_query("SELECT * FROM article 
    WHERE MATCH (title, text_intro, text, html_keywords, html_description) 
    AGAINST ('$s') " );

  $pgs = mysql_query($result);
  if(!$pgs)
  {
     echo "Ошибка в синтаксисе запроса";
     exit();
  }
  // Если результат поиска не пуст выводим ссылки на статьи
  if(mysql_num_rows($pgs)>0)
  {
     while($id = mysql_fetch_array($pgs))
     {
        echo "<a href=index.php?id=$id>статья</a><br>";
     }
  }
?>
но он все время выдает Ошибка в синтаксисе запроса

если выполнить идентичный запрос в PhpMyAdmin или в SQLyog:
PHP:
SELECT * FROM article WHERE MATCH (`title`,`text_intro`,`text`,`html_keywords`,`html_description`) AGAINST ('фото');
то результат есть и все работает!
как можно найти ошибку?
вот структура таблицы:

PHP:
CREATE TABLE `article` (                                                                 
           `id_article` int(11) NOT NULL auto_increment,                                          
           `id_cat` int(11) NOT NULL default '0',                                                 
           `title`  tinytext    cp1251_general_ci'', 
           `text_intro` text NOT NULL,                                                            
           `text` mediumtext NOT NULL,                                                            
           `create_date` int(11) NOT NULL default '0',                                            
           `view` int(1) NOT NULL default '0',                                                    
           `page_hits` int(11) NOT NULL default '0',                                              
           `pos` int(11) NOT NULL default '0',                                                    
           `html_keywords` text NOT NULL,                                                         
           `html_description` text,                                                               
           PRIMARY KEY  (`id_article`),                                                           
           FULLTEXT KEY `title` (`title`,`text_intro`,`text`,`html_keywords`,`html_description`)  
         ) ENGINE=MyISAM AUTO_INCREMENT=177 DEFAULT CHARSET=cp1251
 

Фанат

oncle terrible
Команда форума
ты придуриваешься?
где здесь "идентичный" запрос?

-~{}~ 25.02.07 20:06:

блин, половина вопросов на этом форуме вызвана неспособностью программиста СРАВНИТЬ ДВЕ ТЕКСТОВЫЕ СТРОКИ. Глазами.
Вывести одну под другой и убедиться в идентичности. при отсутствии идентичности внести иправления в скрипт и проверить снова.

То, чему учат в детском саду ещё.
а среднему программисту на пехапе такая интеллектуальная нагрузка уже не по зубам.
 

Kikher

Новичок
его я скопировал..
потом в процессе убрал в`title`,`text_intro`,`text`,`html_keywords`,`html_description` ковычки...
да добавил переменную которую мы получаем из формы...

а что тут не так?

-~{}~ 25.02.07 20:08:

просто не получается,
что так: `title`,`text_intro`,`text`,`html_keywords`,`html_description`
что так
:title, text_intro, text, html_keywords, html_description

результата нету...
 

Фанат

oncle terrible
Команда форума
И щас здесь начнутся классические стоны про "ты сразу гуру пхп родился? все были ламерами!!!".
Ага. Все в 20 лет не умели считать до ста, решить задачку "все педики - голубые. вася - педик. какого цвета вася?" и сравнить две строчки текста. Все это можно освоить, только став гуру пхп. и никак иначе.
 

Фанат

oncle terrible
Команда форума
а что тут не так?
СТРОКИ. НЕ. ИДЕНТИЧНЫ!

Никому здесь не интересно, что ты добавлял, а что убирал.
Здесь есть только вопрос человека, который вообще не понимает, что пишет.
приводит только один запрос и огрызки второго, и заявляет, что они "идентичны".

Ты способен хотя бы выполнить те действия, которые описал в своем вопросе?
Запустить два ИДЕНТИЧНЫХ запроса: из скрипта и из своих подпорок для ламеров?

-~{}~ 25.02.07 20:13:

при чем здесь кавычки?
где ты у меня увидел слово "кавычки"?
мне плевать на кавычки.
Все, что я хочу от тебя - это чтобы твой вопрос отражал РЕАЛЬНОСТЬ. а не результат ковыряния в носу.

Дело не в кавычках.
А в том, что ты не можешь выполнить элементарное действие - взять, и выполнить из скрипта такой же вопрос, который выполнял в другом скрипте.

-~{}~ 25.02.07 20:36:

Ну как, сделал?

-~{}~ 25.02.07 20:38:

ты понял, что тебя не должны интересовать ни кавычки, ни полнотекстовые поиски, ни базы данных, ни синтаксис запросов?
А единственное, что тебе нужно - это просто отправить в базу строку, идентичную той, которая выполняется в PhpMyAdmin?
 

Kikher

Новичок
да въехал!
PHP:
$result = mysql_query("SELECT * FROM article WHERE MATCH (`title`,`text_intro`,`text`,`html_keywords`,`html_description`) AGAINST ('".$_GET['q']."') ");

  if(!$result)
  {
     echo "Ошибка в синтаксисе запроса";
     exit();
  }
  // Если результат поиска не пуст выводим ссылки на статьи
  if(mysql_num_rows($result)>0)
  {
     while($row = mysql_fetch_array($result))
     {
        echo "<a class=\"left_block\" href=index.php?id=$row[id_article]><h2>$row[title]</h2></a><p>$row[text_intro]</p>";
     }
  }
спасибо
 

Фанат

oncle terrible
Команда форума
запомни на будущее.
если у тебя проблема в запросе, то НИКАКОГО ПХП КОДА в вопросе БЫТЬ НЕ ДОЛЖНО.
если у тебя проблемы с пхп кодом - вопрос надо задавать в форуме по пхп.
решил проблемы с кодом, получил нужный запрос, а он все ранво не работает? Добро пожаловать в форум по базам данных. с ЗАПРОСОМ, а не кодом.

И прочитай вот это: PHP FAQ: Ничего не работает! Что делать???
целиком.
 
Сверху