insert into mysql“on duplicate key update”语法错误

xv8emn3q  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(466)
$sql = "INSERT INTO couponentries (itemid, coupon, MSISDN, channel, result) 
       VALUES ('".$itemid."','".$CouponCode."', '".$MSISDN."','".$channel."','".$status."')
       ON DUPLICATE KEY UPDATE couponentries.result = VALUES('Invalid couponcode[ERR: Already exists]')";

我正在尝试将新项目从php webform插入mysql数据库。如果我插入一个重复的行,我将使结果更新为一个错误消息。这是我的密码。它总是给我一个语法错误。
错误:无法执行sql语法错误;在第3行的“invalid couponcode[err:already exists]”附近,检查与您的mysql服务器版本对应的手册,以获取要使用的正确语法

bnlyeluc

bnlyeluc1#

您正在使用字符串文字来更新列-丢失 values :

$sql = "INSERT INTO couponentries (itemid, coupon, MSISDN, channel, result) 
       VALUES ('".$itemid."','".$CouponCode."', '".$MSISDN."','".$channel."','".$status."')
       ON DUPLICATE KEY UPDATE couponentries.result = 'Invalid couponcode[ERR: Already exists]'";

强制性旁注:
包含这样的字符串会使代码容易受到sql注入攻击。你也许应该看看准备好的陈述。

相关问题