Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server versio


Recommended Posts

Здравствуйте! Не получается зайти на сайт. При нажатии на кнопку Купить вышла ошибка:

Fatal error: Uncaught exception 'Exception' with message 'Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '14 DAY)' at line 1<br />
Error No: 1064<br />
DELETE FROM oc_cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(NOW(), 14 DAY)' in /сайт/system/library/db/mysqli.php:40 Stack trace: 
#0 /сайт/system/library/db.php(16): DB\MySQLi->query('DELETE FROM oc_...', Array) 
#1 /сайт/system/storage/modification/system/library/cart/cart.php(15): DB->query('DELETE FROM oc_...') 
#2 /сайт/admin/controller/startup/startup.php(56): Cart\Cart->__construct(Object(Registry)) 
#3 [internal function]: ControllerStartupStartup->index() 
#4 /сайт/system/storage/modification/system/engine/action.php(51): call_user_func_array(Array, Array) 
#5 /сайт/system/engine/front.php(34): Action->execute(Obje in /сайт/system/library/db/mysqli.php on line 40

Ошибка появлилась после того как решил увеличить время хранения корзины. Правил файлы: cart.php, php.ini но после того как  появилась ошибка поменял все обратно но результата нет. 

Как побороть эту ошибку?

Надіслати
Поділитися на інших сайтах


Только что, ibond сказал:

... < DATE_SUB(NOW(), INTERVAL 14 DAY)

спасибо за ответ! 

Мне нужно в файле cart.php исправить эту строку? $this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(NOW(),INTERVAL1 HOUR)");

Надіслати
Поділитися на інших сайтах


да, ругается на то, что пропустили INTERVAL

 

DATE_SUB(date, INTERVAL value interval)

Надіслати
Поділитися на інших сайтах

Сейчас вставлял разными значения в строку Но результата нет. ibond посмотрите пожалуйста верно ввел данные:

 $this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(date, INTERVAL value interval)");

 

Надіслати
Поділитися на інших сайтах


32 минуты назад, ibond сказал:

DATE_SUB(date, INTERVAL value interval)

это я вам синтаксис DATE_SUB привел, а вы его впихнули

 

$this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(NOW(), INTERVAL 14 DAY)");

 

Надіслати
Поділитися на інших сайтах

$this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(NOW(), INTERVAL 14 DAY)");

Ввел эту строку, результата нет.  Может в базе данных надо что еще поправить, хотя туда еще не лез)

Надіслати
Поділитися на інших сайтах


2 минуты назад, Pavs сказал:

$this->db->query("DELETE FROM " . DB_PREFIX . "cart WHERE (api_id > '0' OR customer_id = '0') AND date_added < DATE_SUB(NOW(), INTERVAL 14 DAY)");

Ввел эту строку, результата нет.  Может в базе данных надо что еще поправить, хотя туда еще не лез)

А какой Вы результат хотите увидеть? Ошибка пропала?

Надіслати
Поділитися на інших сайтах

Только что, Pavs сказал:

нет, ошибка осталась та же

 

та же не может остаться, кэш модификаторов обновляли?

Надіслати
Поділитися на інших сайтах

45 минут назад, Pavs сказал:

'DB_п»їPREFIX'

теперь у вас БОМ

  • +1 1
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.