Выбор данных из MySQL (под Linux) при помощи LIKE без учета регистра

beg_mysql

Новичок
Выбор данных из MySQL (под Linux) при помощи LIKE без учета регистра

Здравствуйте, господа.

Столкнулся с проблемой. Перехал на новый хостинг (Linux).
Делаю поиск по базе при помощи LIKE (своим проверенным на прошлом хостинге скриптом).

Например ищем 'dvd' - рез-т ничего не найдено.
Запрос 'DVD' - ОК, т.е. LIKE УЧИТЫВАЕТ регистр (хотя везде пишут, что не должен)

Кодировка таблиц, по которым идет поиск cp1251.

Может это прикол "последних" версий MySQL или PHP?
На сервере стоят: PHP4.3.9, MySQL 4.1.7.

Как обойти эту проблему?
Вариант перевода всех данных в верхний или нижний регистры не подходят. Читал про смену кодировки на сервере, изменив файл my.cnf - но это тоже не подходит (я на хостинге).
Как быть?
 

Кром

Новичок
Покажи дамп структуры таблицы.
И укажи поле, по которому ты ищешь.
 

beg_mysql

Новичок
А реально помогите...

Дамп таблицы
CREATE TABLE `cat_dvd` (
`id` int(3) NOT NULL auto_increment,
`brand` varchar(15) collate cp1251_bin NOT NULL default '',
`model` varchar(20) collate cp1251_bin NOT NULL default '',
`info` varchar(5) collate cp1251_bin NOT NULL default '',
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=cp1251_bin COMMENT='цены' AUTO_INCREMENT=93 ;

INSERT INTO `cat_dvd` VALUES (1, 'BBK', 'DV965S', 'DivX');
INSERT INTO `cat_dvd` VALUES... (и так далее)

$q = 'bbk'; (вводистя через форму)
Делаю запрос
$res = mysql_query("SELECT * FROM cat_dvd WHERE (brand LIKE '%$q%')'",$db);
while ($myrow = mysql_fetch_array($res)){
echo $myrow["model"];
}

Что не так? (просьба без ссылок)
 

tony2001

TeaM PHPClub
Код:
CREATE TABLE `cat_dvd` (
`id` int(3) NOT NULL auto_increment,
`brand` varchar(15) collate [b]cp1251_bin[/b] NOT NULL default '',
`model` varchar(20) collate [b]cp1251_bin[/b] NOT NULL default '',
`info` varchar(5) collate [b]cp1251_bin[/b] NOT NULL default '',
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 COLLATE=[b]cp1251_bin[/b] COMMENT='цены' AUTO_INCREMENT=93 ;
ты же САМ сделал свою таблицу чувствительной к регистру, выставив такой collation.
поменяй на cp1251_general_ci (ci - Case Insensitive) и почувствуй разницу.

-~{}~ 09.11.04 09:31:

>(просьба без ссылок)
просьба читать ссылки, которые тебе дают.
 
Сверху