Prestashop 1.7 - при обновлении выполнено успешно, но на внешнем интерфейсе возвращается ошибка - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь выполнить запрос 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 Ответ

0 голосов
/ 26 октября 2018

Если ваше значение целое: вы должны использовать (int) перед $ option

Если ваше значение - строка:

$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);
...