Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: поиск в MySQL

Сообщения:  [1-10]   [11-18] 

 
 автор: cheops   (26.03.2005 в 18:15)   письмо автору
 
   для: Sin   (26.03.2005 в 16:13)
 

В общем да.

   
 
 автор: Sin   (26.03.2005 в 16:13)   письмо автору
 
   для: cheops   (26.03.2005 в 15:40)
 

А значит с помощью like можно искать по любым полям?

   
 
 автор: cheops   (26.03.2005 в 15:40)   письмо автору
 
   для: Sin   (26.03.2005 в 14:05)
 

С помощью MATCH (...) AGAINST только по полям производных от text, так как для этого используется индекс полнотекстового поиска FULLTEXT.

http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=1991

   
 
 автор: Sin   (26.03.2005 в 14:05)   письмо автору
 
   для: Crux   (26.10.2004 в 00:06)
 

А вот я сталкнулся с интересной ситуацией... А разве с помощью like можно искать только по полям char и varchar
А с помощью конструкции MATCH (...) AGAINST только по полям типа text?

   
 
 автор: Crux   (26.10.2004 в 00:06)   письмо автору
 
   для: cheops   (25.10.2004 в 23:48)
 

ага... это то мне и надо было, спасиб

   
 
 автор: cheops   (25.10.2004 в 23:48)   письмо автору
 
   для: Crux   (25.10.2004 в 23:28)
 

RLIKE или REGEXP - это аналоги оператора LIKE, но вместо шаблона поиска допускающие использование регулярных выражений.
SELECT "fo\nfo" REGEXP "^fo$";
SELECT "fofo" REGEXP "^fo";

Первое сравнение ложно, второе истино.

   
 
 автор: Crux   (25.10.2004 в 23:28)   письмо автору
 
   для: cheops   (22.10.2004 в 12:28)
 

а оператор REGEXP чем отличается от LIKE

   
 
 автор: cheops   (22.10.2004 в 12:28)   письмо автору
 
   для: вопрос_MYSQL   (22.10.2004 в 12:10)
 

В принципе должно работать, но это хуже в идеологическом смысле :), в условие оператора if лучше вообще не помещать функции которые не возвращают жёстко true или false (ну или 1 и 0, соотвественно) это часто приводит к логическим ошибкам, которые вылавливаются всех дольше.

   
 
 автор: вопрос_MYSQL   (22.10.2004 в 12:10)   письмо автору
 
   для: cheops   (22.10.2004 в 11:36)
 

pole-имя столбца

<?php
$x 
mysql_query ("SELECT pole
         FROM table_name WHERE pole= '"
.$имя_переменной_что_ищем."'
         ;"
);
if (!
$x

  echo 
"Ошибка в синтаксисе"
  exit(); 
}
if (@
mysql_result($xpole))
{
echo 
" '".$имя_переменной_что_ищем."'  есть";
}
else
{
echo 
" '".$имя_переменной_что_ищем."'  нет";
}
?>

А так хуже или просто по другому?

   
 
 автор: cheops   (22.10.2004 в 11:36)   письмо автору
 
   для: вопрос_MYSQL   (22.10.2004 в 10:00)
 

Хм.. в SQL-запросе после SELECT отсутствует знак звёздочки, кроме того $x - является дескриптором и принимает false, только в том случае если база данных не может выполнить запрос (например, ошибка в синтаксисе SQL-запроса), для проверки того факта найдено искомое слово или нет лучше воспользоваться функцией mysql_num_rows()
<?php 
$x
mysql_query ("SELECT * FROM base 
WHERE text LIKE 'искомое_слово' ;"
); 
if (!
$x

  echo 
"Ошибка в синтаксисе";
  exit();
}
if(
mysql_num_rows($x)>0)
{
  echo 
"в таблице base в поле есть искомое слово"

else 

  echo 
"в таблице base в поле нет искомого слова"

?> 


http://www.softtime.ru/dic/id_dic=122&id_group=2

   

Сообщения:  [1-10]   [11-18] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования