The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"MySQL LIKE (выводит не все найденные строки)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии
Изначальное сообщение [ Отслеживать ]

"MySQL LIKE (выводит не все найденные строки)"  +/
Сообщение от Fra on 19-Ноя-07, 17:26 
код
$aann = $_POST['ann'];
$result = mysql_query("SELECT * FROM company WHERE name_c LIKE '%$aann%' ");

где ann у нас вводится в форме поиска как - "com".
применяемый к таблице MySQL:

------------------------
id | name_c
------------------------
1 | CompanyTrust
2 | TransCompany
3 | Company
------------------------

на выходе выдает лишь: CompanyTrust, TransCompany.

Почему не выводится строка с Company. В чем может быть подвох?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "MySQL LIKE (выводит не все найденные строки)"  +/
Сообщение от v.i.t (??) on 19-Ноя-07, 18:48 
русская 'С'
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "MySQL LIKE (выводит не все найденные строки)"  +/
Сообщение от Fra on 20-Ноя-07, 10:00 
>русская 'С'

Переименовала название компании, теперьоно точно с английской С, результат тот же.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "MySQL LIKE (выводит не все найденные строки)"  +/
Сообщение от Fra on 20-Ноя-07, 10:02 
>русская 'С'

Переименовала название компании, теперь оно точно с англ. С - результат тот же.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "MySQL LIKE (выводит не все найденные строки)"  +/
Сообщение от mirya email on 20-Ноя-07, 16:12 
русская 'о'?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "MySQL LIKE (выводит не все найденные строки)"  +/
Сообщение от Fra on 21-Ноя-07, 11:15 
>русская 'о'?

Нет, русских букв там нет вообще. Так как названия переименовывались в совершенно другие.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "MySQL LIKE (выводит не все найденные строки)"  +/
Сообщение от tux2002 email on 22-Ноя-07, 08:13 
>[оверквотинг удален]
>id | name_c
>------------------------
>1 | CompanyTrust
>2 | TransCompany
>3 | Company
>------------------------
>
>на выходе выдает лишь: CompanyTrust, TransCompany.
>
>Почему не выводится строка с Company. В чем может быть подвох?

В PHP что то неправильно с циклом по курсору.
В mysql тот же запрос попробуйте.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Долгожданный правильный ответ."  +/
Сообщение от Виктор email(??) on 25-Авг-08, 14:13 
>>на выходе выдает лишь: CompanyTrust, TransCompany.
>>
>>Почему не выводится строка с Company. В чем может быть подвох?
>
> В PHP что то неправильно с циклом по курсору.
>В mysql тот же запрос попробуйте.

Везде всё правильно. Подвох в том, что в запросе указано '%$aann%', а символ '%' означает любой один или более симоволов. В строке 'Company' перед искомой 'com' нет ни одного сомвола, поэтому эта строка не фигурирует в результате.

Всё будет работать, если вместо "name_c LIKE '%$aann%'" в запросе написать "name_c LIKE '%$aann%' OR name_c LIKE '$aann%' OR name_c LIKE '%$aann'".

Учите мускул, товарищи умники.

З.Ы. Над русской 'С' поржал от души, более невменяемого предположения касательно данной ситуации даже представить не мог.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "RE: Долгожданный правильный ответ."  +/
Сообщение от юрий email(??) on 10-Ноя-08, 04:16 
[псевдо]умник виктор.
вообще то символ % означает любое количество символов, В ТОМ ЧИСЛЕ и отсутсвие символа...
а есои вы каждый раз вместо "name_c LIKE '%$aann%'" пишите "name_c LIKE '%$aann%' OR name_c LIKE '$aann%' OR name_c LIKE '%$aann'" мне вас очень жаль, этим вы только увеличиваете нагрзку на сервак, совершенно неоправдано...
у меня  "name_c LIKE '%$aann%'" находит все вхождения в том числе и с начала строки...

одно лишь утешает, вы ответили почти год спустя...

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Долгожданный правильный ответ."  +/
Сообщение от Сводс on 11-Июл-12, 02:54 
>[оверквотинг удален]
>>В mysql тот же запрос попробуйте.
> Везде всё правильно. Подвох в том, что в запросе указано '%$aann%', а
> символ '%' означает любой один или более симоволов. В строке 'Company'
> перед искомой 'com' нет ни одного сомвола, поэтому эта строка не
> фигурирует в результате.
> Всё будет работать, если вместо "name_c LIKE '%$aann%'" в запросе написать "name_c
> LIKE '%$aann%' OR name_c LIKE '$aann%' OR name_c LIKE '%$aann'".
> Учите мускул, товарищи умники.
> З.Ы. Над русской 'С' поржал от души, более невменяемого предположения касательно данной
> ситуации даже представить не мог.

бездарный ты, иди учи албанский. Херню написал какую то

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру