Mysql Запрос с русскими буквами и двойными кавычками

lexxntu

Новичок
Добрый день!
Хочу вытащить сумму количества товара в интернет магазине по имени товара и не получается


Вот что я выяснил:
Если в PHP MyAdmin написать запрос то


SQL:
SET @work_name = 'Джинсы "Бантик"';
SELECT SUM(count) FROM web WHERE name= @work_name;
Ответ 3.00
Всё верно!
То есть работа запроса в принципе возможно

Но в коде сайта, если я пишу так:

PHP:
$work_name = 'Джинсы "Бантик"';
$query = mysql_query("SELECT SUM(count) FROM web WHERE name = '$work_name'" , $connection) or die( mysql_error() ) ;
	
$result = mysql_fetch_array($query); 
echo "Сумма:  $result[0]";
Или же, как посоветовали:

PHP:
$work_name = 'Джинсы "Бантик"';
$escaped_work_name = mysql_real_escape_string($work_name,$connection);
$query = mysql_query("SELECT SUM(`web`.`count`) FROM `web` WHERE `web`.`name`='{$escaped_work_name}'") or die( mysql_error() ) ;		
$result = mysql_fetch_array($query); 
echo "Сумма:  $result[0]";
Я не получаю результата

Я пошёл дальше в эксперименте и изменил имена продукта на 'test' английскими буквами - и всё заработало!
Но когда поменял на 'тест' русскими буквами - результата нет
Подскажите пожалуйста куда копать!
В чём тут дело ?

Ссылку My SQL 4.1 и любые проблемы с русскими буквами читал, но кажется не моё ?
 

Вложения

WMix

герр M:)ller
Партнер клуба
плохо читал видать... ответь на вопросы...
кодировка твоего скрипта -- 'Джинсы "Бантик"' в какой кодировке и как проверил?
кодировка базы данных?...
 

lexxntu

Новичок
$collation = mysql_query("SET NAMES cp1251" , $connection) or die( mysql_error() ) ;

Помогло, работает и так и так
 

lexxntu

Новичок
Я поспешил с выводами, работает только у меня в Dreamweaver, на реальном же сайте OpenCart работает с русскими и английскими буквами но не работает с кавычками!


Что с кавычками делать ? Я так понимаю кодировка тут уже не при чём, А знаков в базе много, кавычки, плюсы , запятые и тд... Запрос по имени тоара в любом случае должен быть
 

Фанат

oncle terrible
Команда форума
Для начала надо в принципе понять, что происходит.
Исполняется ли запрос.
есть ли в базе искомая строка
совпадают ли строки в базе и в запросе.
выставляется ли кодировка.
ПОНЯТЬ, что конкретно мешает.
сначала надо разобраться, в чем конкретно проблема. потом на форуме спрашивать.
"плюсы и запятые" к SQL запросам отношения не имеют.
 
Сверху