SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.11.2011 18:44:58

andrey28
Участник
Зарегистрирован: 23.01.2008
Сообщений: 7

Поиск по нескольким полям таблицы

Здравствуйте, пытаюсь на сайте поиск сделать, но не могу реализовать поиск по нескольким полям таблицы.
Использую такой запрос:
$query = "SELECT * FROM cat WHERE MATCH (title, name, name1, desc, text) AGAINST ('%".mysql_escape_string( $_POST['text'] )."%')";

выдает ошибку You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc, text) AGAINST ('%1М63%')' at line 1

Если убираю все поля в зпаросе кроме одного, то по этому полю ищет. Подскажите, как правильно?

Неактивен

 

#2 16.11.2011 19:06:10

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Поиск по нескольким полям таблицы

desc и text- ключевые слова. При использовании в качестве имен столбцов (таблиц и т.д) их нужно брать в обратные кавычки, т.е. `desc` и `text`. А ещё лучше использовать нейтральные названия.

Неактивен

 

#3 16.11.2011 19:24:38

andrey28
Участник
Зарегистрирован: 23.01.2008
Сообщений: 7

Re: Поиск по нескольким полям таблицы

vasya написал:

desc и text- ключевые слова. При использовании в качестве имен столбцов (таблиц и т.д) их нужно брать в обратные кавычки, т.е. `desc` и `text`. А ещё лучше использовать нейтральные названия.

Спасибо огромное! Ошибка исчезла, вылезла вторая. 

Can't find FULLTEXT index matching the column list

FULLTEXT полям присвоил...
ALTER TABLE `cat` ADD FULLTEXT (`title` , `name` ,  `name1` , `desc`, `text`);

Все, вопрос отпал, указал лишнее поле, которое не фуллтекст.

Спасибо за помощь!

Отредактированно andrey28 (16.11.2011 19:36:20)

Неактивен

 

#4 16.11.2011 19:36:43

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Поиск по нескольким полям таблицы

Покажите результат выполнения show create table `cat`;

Неактивен

 

#5 16.11.2011 19:47:26

andrey28
Участник
Зарегистрирован: 23.01.2008
Сообщений: 7

Re: Поиск по нескольким полям таблицы

vasya написал:

Покажите результат выполнения show create table `cat`;

Видимо вместе писали, все решилось, указал лишнее поле. Сейчас поиск работает.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson