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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Ошибка запроса MySQL , где данные русские буквы и знаки
Покинул форум
Сообщений всего: 16
Дата рег-ции: Сент. 2012
Помог: 0 раз(а)
селект по русскому тексту да ещё и с двойными кавычками
$work_name = 'Джинсы "Бантик"';
$result = mysql_query("SELECT SUM(count) FROM web WHERE name = $work_name" , $connection);
Неверный запрос: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '�жинсы "Бантик"' at line 1
Panoptik
Отправлено: 10 Ноября, 2012 - 00:53:25
Постоянный участник
Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011 Откуда: Одесса, Украина
Помог: 131 раз(а)
во-первых саму переменную в запросе нужно брать в кавычки, а во-вторых нужно экранировать кавычки в переменных
воспользуйтесь функциями addslashes, mysql_real_escape_string etc
----- Just do it
Wol_fi
Отправлено: 10 Ноября, 2012 - 07:13:45
Новичок
Покинул форум
Сообщений всего: 60
Дата рег-ции: Февр. 2012
Помог: 2 раз(а)
LEXXntu пишет:
селект по русскому тексту да ещё и с двойными кавычками
$work_name = 'Джинсы "Бантик"';
$result = mysql_query("SELECT SUM(count) FROM web WHERE name = $work_name" , $connection);
Неверный запрос: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '�жинсы "Бантик"' at line 1
$result=mysql_query("SELECT SUM(`web`.`count`) FROM `web` WHERE `web`.`name`='{$escaped_work_name}'",$connection);
LEXXntu
Отправлено: 10 Ноября, 2012 - 07:59:00
Новичок
Покинул форум
Сообщений всего: 16
Дата рег-ции: Сент. 2012
Помог: 0 раз(а)
Wol_fi пишет:
LEXXntu пишет:
селект по русскому тексту да ещё и с двойными кавычками
$work_name = 'Джинсы "Бантик"';
$result = mysql_query("SELECT SUM(count) FROM web WHERE name = $work_name" , $connection);
Неверный запрос: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '�жинсы "Бантик"' at line 1
Я пошёл дальше в эксперименте и изменил имена продукта на 'test' английскими буквами - и всё заработало!
Но когда поменял на 'тест' русскими буквами - результата нет
Подскажите пожалуйста куда копать!
В чём тут дело ?
$result=mysql_query("SELECT SUM(`web`.`count`) FROM `web` WHERE `web`.`name`='{$escaped_work_name}'",$connection);
[/quote]
Я поспешил с выводами, работает только у меня в Dreamweaver, на реальном же сайте OpenCart работает с русскими и английскими буквами но не работает с кавычками!
caballero
Отправлено: 12 Ноября, 2012 - 10:02:38
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
ты что так и будешь вбивать переменные в файл?
в любом случае должна совпадать кодировка файла и БД
поэтому когда пишешь в другом редакторе убедись том выставлена нужная кодировка
а лучше переведи все в UTF8
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.