你如何使用INSERT INTO On Duplicate Key UPDATE
表单输入?我在网上找到的所有示例都带有计数器或预定值。
我已经能够使用标准UPDATE
和SET
方法让我的代码工作(感谢一些非常有帮助的成员),但我的表格确实需要使用INSERT INTO On Duplicate Key UPDATE
.
'user_id'
是所有表中的唯一主键,并且是除帐户表之外的所有表中的外键。
<?php
session_start();
require_once('config.php');
require_once('open_db.php');
$setlist='';
foreach ($_POST as $key=>$value) {
$setlist.=$key .'=\''.$value.'\',';
}
$setlist=substr($setlist, 0, -1);
$user_id=$_SESSION['SESS_USER_ID'];
$sql='UPDATE style_test SET '.$setlist.' WHERE user_id='.$user_id;
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
?>
我之前用来自动插入每个字段的代码是:
$fieldlist=$vallist='';
foreach ($_POST as $key => $value) {
$fieldlist.=$key.',';
$vallist.='\''.urlencode($value).'\',';
}
$fieldlist=substr($fieldlist, 0, -1);
$vallist=substr($vallist, 0, -1);
$user_id=$_SESSION['SESS_USER_ID'];
$fieldlist.=', user_id';
$vallist.=','.$user_id;
$qry='INSERT INTO style_test1 ('.$fieldlist.') VALUES ('.$vallist.')';