Тема 1.7 - обновление выполнено успешно, но возвращает ошибку на переднем конце
Я пытаюсь выполнить SQL-запрос, но был возвращен с ошибкой ниже:
У вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MariaDB для правильного синтаксиса, чтобы использовать рядом " в строке 1
$option = Tools::getValue('option');
$sql = 'INSERT INTO `'._DB_PREFIX_.'slot` VALUES ('.(int)$params['cart']->id.', '.$option.') ON DUPLICATE KEY UPDATE id_slot='.$option;
Db::getInstance()->execute($sql);
После проверки в базе данных, он был фактически выполнен и успешно запущен. Но на переднем конце, я был брошен ошибка выше. Я использую крюк ниже, чтобы выполнить мои коды:
- hookActionCarrierProcess
Я пробовал $option = (int)pSQL (Tools::getValue ('option')); но он возвращает 0 при сохранении.
Есть идеи?
У вопроса есть решение - Посмотреть?

Что такое $стоимость опциона?
Источник

Значение из формы, которую я создал для пользователя, чтобы выбрать из списка параметров. Таким образом, он будет принимать значение и вставлять в базу данных.
Источник
Ответы - Тема 1.7 - обновление выполнено успешно, но возвращает ошибку на переднем конце / Prestashop 1.7 - On Update Executed Successfully but Returns Error on Front-End

26.10.2018 02:36:54
Если ваше значение целое: вы должны использовать (int) перед параметром $
Если ваше значение-строка:
$option = Tools::getValue('option');
$sql = 'INSERT INTO `'._DB_PREFIX_.'slot` VALUES ('.(int)$params['cart']->id.', "'.pSQL($option).'") ON DUPLICATE KEY UPDATE id_slot='.$option;
Db::getInstance()->execute($sql);

Он по - прежнему возвращает ту же ошибку-у вас есть ошибка в синтаксисе SQL; проверьте руководство, которое соответствует вашей версии сервера MariaDB для правильного синтаксиса для использования рядом " в строке 1. Я попытался удалить "" и он возвращает еще одну ошибку, мой синтаксис неправильный?

Я также пробовал с $option = (int)pSQL(Tools:: getValue ('option')); но он возвращает 0 при сохранении

Если ваш параметр целочисленный, используйте это: $option = (int)Tools:: getValue ('option')); используйте pSQL только для строковых значений. Вы уверены в стоимости опциона?

Да, я пробовал $ option = (int)Tools::getValue('option')); но он по-прежнему хранится как 0 без каких-либо ошибок. Если я использую $option = Tools:: getValue ('option')); .... это работает, но ошибка покажет. Тогда я буду копаться в этом...

Можете ли вы опубликовать окончательный запрос, который успешно выполнялся в БД?

То же самое я написал в этом посте. Он успешно запущен, но возвращает ошибку. База данных обновляется в надлежащем порядке.

При дальнейших проверках, есть на самом деле ошибка, когда я получаю значение. Я проверяю это, но спасибо за ваши предложения.
Помочь в развитии проекта: