我有一个 2 部分的 html / php 表单,其中一个 $_POST 值是 session_id(); m 这将是数据库表中的唯一 ID。
在表单的第一部分,用户输入他们的联系信息并将其插入 MySQL 数据库。
INSERT INTO $table ($columns) VALUES ($values)
在他们输入额外信息的表单的第二部分,如果 session_id() 相同,我只想更新所有正在提交的列,这些列总是与表单第一部分中的列不同. 如何在保持先前提交的数据完整的同时更新所有提交的列。
在这个例子中,$columns 和 $values 是 CSV 字符串,即
提交 1
$columns = "'SSID', 'Name', 'Email'";
$values = "'65464s4468fff9864wef68d', 'John Doe', 'someone@something.com'";
提交 2
$columns = "'SSID', 'Product', 'Comments'";
$Values = "'65464s4468fff9864wef68d', 'Apple', 'some comments'";
所以我只需要更新“产品”和“评论”列。我需要使用许多不同的表单动态地执行此操作,因此我宁愿不必指定要更新的列,因为它们已经是唯一被插入的列。
我正在尝试类似的事情:
INSERT INTO $table ($columns) VALUES ($values) ON DUPLICATE KEY UPDATE $columns = $columns
什么是正确的语法?目前这给了我一个语法错误
编辑:添加最后一行