~FisHBonE~
Well-Known Member
- Регистрация
- 23.05.2005
- Сообщения
- 136
Возникла проблема. Уже второй день не могу решить ее
Проблема заключается в том, что не осуществляется поиск в БД по FULLTEXT полям.
Итак, имеется таблица с данными о статьях:
Ошибок при создании таблицы не возникает.
Имеется скрипт, который должен производить поиск в этой таблице:
Основной кусок кода:
Проблема в том, что нефига не ищется, а MySQL выдает ошибку:
Теперь вопрос. Что я сделал не правильно? Ведь при создании таблицы явно указаны FULLTEXT поля.
Проблема заключается в том, что не осуществляется поиск в БД по FULLTEXT полям.
Итак, имеется таблица с данными о статьях:
Код:
mysql_query("CREATE TABLE IF NOT EXISTS st_art (id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
key_words VARCHAR(100) NOT NULL,
author VARCHAR(50) NOT NULL,
description TINYTEXT NOT NULL,
body TEXT NOT NULL,
post_date VARCHAR(17) NOT NULL,
last_mod VARCHAR(17),
views INT NOT NULL DEFAULT '0',
last_view VARCHAR(17),
visible ENUM ('0', '1') NOT NULL DEFAULT '0',
group_id INT(3) NOT NULL DEFAULT '0',
FULLTEXT (name, key_words, author, description, body))
TYPE = MYISAM CHARACTER SET cp1251 COLLATE cp1251_bin")
or die(mysql_error());
Имеется скрипт, который должен производить поиск в этой таблице:
Основной кусок кода:
Код:
$q = $_REQUEST['q'];
$q = clear_query($q); // Прослэшиваем запрос. (см. ./inc/funcs.php)
$query = mysql_query("SELECT * FROM st_art WHERE MATCH (name, description, author, body) AGAINST ('$q')")
or die('<strong>MySQL error: </strong>' . mysql_error());
Код:
Can't find FULLTEXT index matching the column list