Prestashop 1.7-更新成功执行,但前端返回错误

时间:2018-10-26 08:18:52

标签: mysql database prestashop prestashop-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 个答案:

答案 0 :(得分:1)

如果您的值是整数:您必须在$ option之前使用(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);