PHP.SU

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


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

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



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


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


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




помогите пжлст составить запрос на поиск слова в тексте в БД
есть БД из 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


-----
DDD
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2011 - 13:36:18
Post Id


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


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


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






http://phpfaq[dot]ru/debug


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



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


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


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




EuGen ладно с php я разберусь как-нибудь
а что делать с выводом phpmyadmin?
видимо запрос неправильно составлен?


-----
DDD
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2011 - 14:36:24
Post Id


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


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


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




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


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



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


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


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




EuGen как это сделать?


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


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


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


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




var_dump($query);


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



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


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


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




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 строка


-----
DDD
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2011 - 15:02:31
Post Id


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


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


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




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


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



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


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


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




исправил 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
(Добавление)
искомое слово там точно есть


-----
DDD
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2011 - 15:10:43
Post Id


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


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


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




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

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


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



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


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


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




подробнее пжлст
что значит индекс по колонкам? еще одно поле ? как часто бывает делают ID ?


-----
DDD
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2011 - 15:15:01
Post Id


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


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


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




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


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



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


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


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




коечто прочел погуглив об этом
кажется понял но вот вопросы
индексировать следует 1 раз при создании таблицы и последующих добавлениях/удалениях?
при переносе таблицы индексация сохраняется?


-----
DDD
 
 Top
EuGen Администратор
Отправлено: 30 Июня, 2011 - 15:33:29
Post Id


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


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


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




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


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



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


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


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




EuGen спасибо большое все получилось только осталась небольшая проблемка
сам не могу разобратся нужна ваша помощь
не все слова из текста находит
при этом довольно часто попадаются при выводе найденой по искомому слову статьи какието квадратики
я так понимаю это какието символы в другой кодировке?
возможно и слова не все поэтому находит? возможно внутри них в базе есть неотображаемые символы?


-----
DDD
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB