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
Форумы портала PHP.SU :: Версия для печати :: проблема в с поиском в базе mysql
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » проблема в с поиском в базе mysql

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

1. igor - 22 Мая, 2008 - 14:56:45 - перейти к сообщению
Есть база mysql в ней таблица в кодировке koi8-r . есть столбец с фамилиями.

в броузер выводится форма для поиска по фамилии, тоже в кодировке koi8-r . если пишу фамилию целиком (Целиков), то кроме целиковых попадают еще и беликовы ( Беликов, Беликова и тд) .

вот строка запроса

SELECT fam_strah FROM sborbaz WHERE fam_reb like '%ЦЕЛИКОВ%' limit 0, 100
2. EuGen - 22 Мая, 2008 - 16:39:34 - перейти к сообщению
Брр.. лучше не на "Целиковых" и "Беликовых" а то путаница какая-то.
Запрос LIKE '%строка%' возвратит записи, у которых в поле условия есть подстрока "строка".
3. scuter - 22 Мая, 2008 - 17:57:43 - перейти к сообщению
возможно проблема в кодировки,
CODE (text):
скопировать код в буфер обмена
  1. SELECT fam_strah FROM `sborbaz` WHERE `sborbaz` LIKE CONVERT( _utf8 'fghdfgh' USING utf8 ) COLLATE utf8_general_ci LIMIT 0 , 100
4. igor - 24 Мая, 2008 - 00:01:48 - перейти к сообщению
scuter пишет:
возможно проблема в кодировки,
CODE (text):
скопировать код в буфер обмена
  1. SELECT fam_strah FROM `sborbaz` WHERE `sborbaz` LIKE CONVERT( _utf8 'fghdfgh' USING utf8 ) COLLATE utf8_general_ci LIMIT 0 , 100


Да , возможно кодировка, но пока мыслей по этому поводу нету. буду действовать методом тыка
(Добавление)
EuGen пишет:
Брр.. лучше не на "Целиковых" и "Беликовых" а то путаница какая-то.
Запрос LIKE '%строка%' возвратит записи, у которых в поле условия есть подстрока "строка".


в том то и дело , что возвращаются записи, у которых в поле условия есть не только подстрока "строка", но и еще более другие.
например запрос :
SELECT fam_strah FROM sborbaz WHERE fam_strah like '%ЦЕЛИКОВ%' limit 0, 100
должен возвратить только те записи где в столбце fam_strah встречается подстрока ЦЕЛИКОВ . тем не менее возвращаются не только записи где есть ЦЕЛИКОВ но и БЕЛИКОВ, БЕЛИКОВА и тд. как будто Б и Ц для это перешници одно и тоже .

 

Powered by ExBB FM 1.0 RC1