Перейти к содержимому

Фото
- - - - -

MYSQL QUERY


  • Вы не можете создать новую тему
  • Please log in to reply
11 ответов в этой теме

#1 motorov

motorov
  • Пользователь
  • 109 сообщений
  • Откуда:с Луны

Отправлено 11 Январь 2011 - 17:01

Есть такой вопрос

$result = mysql_query("SELECT * FROM table WHERE .name.='$code' OR .type.='$code' ");}

Запрос работает но не совсем так как хотелось бы
Дело в том что в строке type может содержаться много всякого текста, мне надо вывести по слову тот текст который там встречается.

Какой операнд надо поставить в этом месте
.type.='$code'
чтобы поиск происходил по слову.

Спасибо, ответ найден.
$result = mysql_query("SELECT * FROM table WHERE .name. LIKE '%$code%' OR .type. LIKE '%$code%' ");

Сообщение изменено: motorov (11 Январь 2011 - 16:51 )

  • 0
hérisson dans le brouillard

#2 Ferzin

Ferzin
  • Постоялец
  • 1 967 сообщений

Отправлено 11 Январь 2011 - 17:01

WHERE .name. LIKE '%твой текст'

% в начале - заканчивается
% в конце - начинается
%% - содержит. не помню точно
  • 0

#3 motorov

motorov
  • Пользователь
  • 109 сообщений
  • Откуда:с Луны

Отправлено 11 Январь 2011 - 17:01

Спасибо, ответ найден.
$result = mysql_query("SELECT * FROM table WHERE .name. LIKE '%$code%' OR .type. LIKE '%$code%' ");


Кстати я так понял % это как * в поиске но если слово в середине то надо ставить %слово%
Интересно почему они не использовали * для этих надобностей?

Сообщение изменено: motorov (11 Январь 2011 - 17:05 )

  • 0
hérisson dans le brouillard

#4 Ferzin

Ferzin
  • Постоялец
  • 1 967 сообщений

Отправлено 11 Январь 2011 - 17:02

не читал до конца :)
  • 0

#5 motorov

motorov
  • Пользователь
  • 109 сообщений
  • Откуда:с Луны

Отправлено 11 Январь 2011 - 17:10

Таже фигня :lol: Это ленью называется ^_^
  • 0
hérisson dans le brouillard

#6 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 11 Январь 2011 - 19:20

Интересно почему они не использовали * для этих надобностей?

Для того чтобы люди чаще заглядывали в документацию.

А зачем у вас все поля обрамлены точками?

.name.


  • 0

#7 Isamashii Tora

Isamashii Tora

    Странствующий

  • Постоялец
  • 1 840 сообщений
  • Откуда:Asylum

Отправлено 11 Январь 2011 - 19:34

Setor, это наверно привычка пхпшная :) Для "связывание" стрингов переменных :)

$var = str1 . str2 . str3 . ' ' . '<br />';

:) Тоже бросилось это в глаза, но думаю что прав.
  • 0
"Миры рождаются и умирают, память о людях с которыми их прошел - остается" © Тристар

#8 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 11 Январь 2011 - 20:26

Setor, это наверно привычка пхпшная :) Для "связывание" стрингов переменных :)

$var = str1 . str2 . str3 . ' ' . '<br />';

:) Тоже бросилось это в глаза, но думаю что прав.

Нет, точка зарегистрированный символ, используется для указания схемы (имени базы данных) select * from otherdb.tablename, а для экранирования зарезервированных слов используется символ . select * from .otherdb..tablename. но точки первый раз вижу :) Такой запрос вообще не выполнится.

А, это форум заменяет апостроф на точку :) Вопрос снят.

Сообщение изменено: Setor (11 Январь 2011 - 20:26 )

  • 0

#9 Ferzin

Ferzin
  • Постоялец
  • 1 967 сообщений

Отправлено 11 Январь 2011 - 20:35

:ololo:
  • 0

#10 motorov

motorov
  • Пользователь
  • 109 сообщений
  • Откуда:с Луны

Отправлено 12 Январь 2011 - 04:25

kukux не валяйся всё нормально, просто люди немного не в курсе, что движёк форума переделывает эти символы в точки. Раскроем людям маленькую тайну. ^_^ Этот форум ведь тоже на php написан и наши посты как вам известно вписываются в базу а эта наклонная запятая может создать коллизии при вставки информации в базу, посему было принято решение заменить наклонные запятые точками.

Сообщение изменено: motorov (12 Январь 2011 - 04:27 )

  • 0
hérisson dans le brouillard

#11 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 12 Январь 2011 - 11:03

Этот форум ведь тоже на php написан и наши посты как вам известно вписываются в базу а эта наклонная запятая может создать коллизии при вставки информации в базу, посему было принято решение заменить наклонные запятые точками.

Железная логика, даже слов нет. Для этого человечество ещё 30 лет назад придумал экранирующие символы.
  • 3

#12 motorov

motorov
  • Пользователь
  • 109 сообщений
  • Откуда:с Луны

Отправлено 12 Январь 2011 - 20:58

Железная логика, даже слов нет. Для этого человечество ещё 30 лет назад придумал экранирующие символы.

Громоздко и не удобно, да ещё и исходники палить, дудки сами пускай своими силами гадают ^_^
  • -1
hérisson dans le brouillard