Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: запрос на поиск слова

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
LIME
Отправлено: 30 Июня, 2011 - 13:30:39
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




помогите пжлст составить запрос на поиск слова в тексте в БД
есть БД из 100 строк
2 поля NAME (имя статьи) и TEXT (сама статья)
первичный ключ поле NAME
надо выбрать все статьи и их названия где встречается слово $wrd
пробую такой запрос
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $query=" SELECT NAME,TEXT FROM marketing
  3.        WHERE MATCH (NAME,TEXT) AGAINST ('$wrd')";
  4. $result = mysqli_query($res,$query)
  5.     or die("Invalid query: " . mysqli_error()); // 12 строка
  6.  

пхп выдает : Warning: mysqli_error() expects exactly 1 parameter, 0 given in W:\home\localhost\www\test\search.php on line 12
Invalid query:


пробую проверить запрос в phpmy admin выдает вот что
Прикреплено изображение (Нажмите для увеличения)
Безымянный.bmp
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2011 - 13:36:18
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)






http://phpfaq[dot]ru/debug


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
LIME
Отправлено: 30 Июня, 2011 - 14:27:38
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




EuGen ладно с php я разберусь как-нибудь
а что делать с выводом phpmyadmin?
видимо запрос неправильно составлен?
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2011 - 14:36:24
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




не могу сказать - Вы же не предоставили дамп запроса.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
LIME
Отправлено: 30 Июня, 2011 - 14:41:49
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




EuGen как это сделать?
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2011 - 14:45:42
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




var_dump($query);


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
LIME
Отправлено: 30 Июня, 2011 - 14:58:13
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




EuGen
вот дамп
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. string(84) "SELECT NAME,TEXT FROM marketing WHERE MATCH (NAME,TEXT) AGAINST ('ролевой')"
  3. Warning: mysqli_error() expects exactly 1 parameter, 0 given in W:\home\localhost\www\test\search.php on line 26
  4. Invalid query


вот код
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $query="SELECT NAME,TEXT FROM marketing
  3.        WHERE MATCH (NAME,TEXT) AGAINST ('$wrd')";
  4.                 var_dump($query);
  5.         $result = mysqli_query($res,$query)
  6.     or die("Invalid query: " . mysqli_error());  
//26 строка
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2011 - 15:02:31
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Исправьте ошибку в вызове mysqli_error и посмотрите на вывод этой функции


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
LIME
Отправлено: 30 Июня, 2011 - 15:05:53
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




исправил mysqli_error()
теперь выдает следующее
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. string(84) "SELECT NAME,TEXT FROM marketing WHERE MATCH (NAME,TEXT) AGAINST ('ролевой')" Invalid query: Can't find FULLTEXT index matching the column list

(Добавление)
EuGenэто может быть изза отсутствия поля ID ?
я сделал только 2 поля и первичным NAME типа VARCHAR
(Добавление)
искомое слово там точно есть
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2011 - 15:10:43
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




LIME пишет:
Can't find FULLTEXT index matching the column list

У Вас нет в таблице индекса по двум указанным колонкам. Создайте его


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
LIME
Отправлено: 30 Июня, 2011 - 15:12:53
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




подробнее пжлст
что значит индекс по колонкам? еще одно поле ? как часто бывает делают ID ?
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2011 - 15:15:01
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




ALTER TABLE marketing ADD FULLTEXT(`NAME`,`TEXT`);


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
LIME
Отправлено: 30 Июня, 2011 - 15:29:44
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




коечто прочел погуглив об этом
кажется понял но вот вопросы
индексировать следует 1 раз при создании таблицы и последующих добавлениях/удалениях?
при переносе таблицы индексация сохраняется?
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2011 - 15:33:29
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Таблица (вместе со всеми индексами) определяется только один раз.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
LIME
Отправлено: 30 Июня, 2011 - 18:46:18
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




EuGen спасибо большое все получилось только осталась небольшая проблемка
сам не могу разобратся нужна ваша помощь
не все слова из текста находит
при этом довольно часто попадаются при выводе найденой по искомому слову статьи какието квадратики
я так понимаю это какието символы в другой кодировке?
возможно и слова не все поэтому находит? возможно внутри них в базе есть неотображаемые символы?
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB