Перейти к содержанию
Форум поддержки пользователей VamShop

Ошибка MySQL при редактировании адреса в заказе


Рекомендуемые сообщения

Появляется ошибка "Интернет-магазин закрыт на техническое обслуживание, заходите позже!", в mysql_db_error.log никаких ошибок не пишется. Хотя во время отладки магазина, если ошибки с мускулем были, то писались в файл (чмод вставлен).

Где конкретно появляется ошибка:

Админка - покупатели - заказы. Выбираем покупателя (пробовал на статусах Выполняется и Доставлен) - Редактировать - кнопка Редактировать - Редактировать адрес - Сохранить - получаем ошибку. Причём что-то меня не обязательно, достаточно без изменений нажать "сохранить".

Собственно вот. В чём может быть проблема?

Ссылка на сообщение
Поделиться на другие сайты

В папке /admin создайте mysql_db_error.log файл и поставьте 777 права на него, запишется ошибка.

Что-то с базой, нужно узнать, что за ошибка.

Ссылка на сообщение
Поделиться на другие сайты

Странно, но в файл так ничего записываться и не начало, хотя права установил. Попробовал поставить мыло и здесь всё получилось. Вот ошибка:

MYSQL ERROR REPORT
- 22/12/2009 11:12:45

---------------------------------------
1064 - 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 '271 руб.', value = '1271.0000' where orders_id = '53' and class = 'ot_subtota' at line 1

update orders_total set text = ' 1'271 руб.', value = '1271.0000' where orders_id = '53' and class = 'ot_subtotal'
---------------------------------------
Server Name  : www.XXXXXX.ru
Remote Address: 15.195.185.81

Referer      : http://www.XXXXXX.ru/admin/orders_edit.php?edit_action=address&oID=53

— Скрыть цитируемый текст —
Requested    : /admin/orders_edit.php?action=save_order
Trace Back    : admin/orders_edit.php:480(vam_db_queryarray(1) {;  [0]=>;  &string(118) "update orders_total set text = ' 1'271 руб.', value = '1271.0000' where orders_id = '53' and class = 'ot_subtotal' "; }; ) => inc/vam_db_query.inc.php:34(vam_db_errorarray(3) {;  [0]=>;  &string(118) "update orders_total set text = ' 1'271 руб.', value = '1271.0000' where orders_id = '53' and class = 'ot_subtotal' ";  [1]=>;  &int(1064);  [2]=>;  &string(226) "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 '271 руб.', value = '1271.0000' where orders_id = '53' and class = 'ot_subtota' at line 1"; }; )[/code]

Я так понимаю, что проблема в разделителе тысяч. Предполагаю, что нужно ввести где-то проверку разделитея, что бы нельзя было обрушить базу, введя в него какие-то символы. В данном случае кавычка ' как-то криво обрабатывается. Что здесь можно придумать, что бы не менять разделитель?

Ссылка на сообщение
Поделиться на другие сайты

В Админке - Разное - Валюты укажите другой разделитель тысяч в настройках валют, не '

Ссылка на сообщение
Поделиться на другие сайты

Это я уже сделал. Но хотелось бы всё же, что бы можно было ставить любой разделитель. Как вариант можно было бы записывать в базу не символ разделителя, а его код. Или же просто ввести обработку этого поля при вводе. Есть какие-то варианты с добавлением слэша, но я в этом не очень.

Ссылка на сообщение
Поделиться на другие сайты

Что-то не получается. Видимо из поля просто обрезается первый символ. Код кавычки 0027, я его записывал в поле как &#0027. Но после сохранения остаётся только первый символ &.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...