【发布时间】:2019-09-11 13:21:29
【问题描述】:
我正在尝试将记录插入我的数据库,如果发现重复,它应该只更新一个字段。
这是我目前的代码
$strSQL = "INSERT INTO ppage_image_uploads(Cons_ID, Img_SRC, Program, TeamRaiser_ID)
VALUES
('" . $_POST["cons_id"] . "',
'" . $_POST["img_src"] . "',
'" . $_POST["program"] . "',
'" . $_POST["tr_id"] . "')
ON DUPLICATE KEY UPDATE
Img_SRC = VALUES '" . $_POST["img_src"] . "'
)";
从另一个问题中松散地理解了这一点:MySQL ON DUPLICATE KEY UPDATE for multiple rows insert in single query
我在处理这个脚本的页面上收到一条错误消息
您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 8 行的 ''theimageurl.jpg' )' 附近使用正确的语法
我遗漏的那句话有什么不妥之处吗?
【问题讨论】:
-
删除
VALUES。 -
@JimmyB 更新语句中的值?
-
是的,
VALUES来自Img_SRC = VALUES。 -
你可能想研究 SQL 注入以及你能做些什么......我建议你阅读How can I prevent SQL injection in PHP?
-
@JimmyB 非常感谢!这就是诀窍,初始记录提交,然后第二次尝试只更新图像。正是我想要的。谢谢一百万!
标签: mysql