prestashop1.7-on更新成功执行,但在前端返回错误

ymdaylpp  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(337)

我正在尝试执行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);

在签入数据库时,它实际执行并成功运行。但在前端,我被抛出了上面的错误。我正在使用下面的钩子执行代码:
HookActionCarrier进程
我试过$option=(int)psql(tools::getvalue('option');但保存时返回0。
有什么想法吗?

e5nszbig

e5nszbig1#

如果您的值是整数:您必须使用(int)before$选项
如果值为字符串:

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

相关问题