【发布时间】:2011-10-17 11:44:16
【问题描述】:
我有多个 If 语句,如果为真,则将数据插入数据库。问题是第二个 INSERT 语句插入了 4 次。我将如何阻止它添加重复项。同样返回的 $_POST['tshirt'] 只包含一个被插入 4 次的值。
if(isset($_POST['distance'])) {
$dist = $_POST['distance'];
$sql="INSERT INTO sportevent_parameters.Distance(value, user_ref, event) VALUES ('$dist', '$id', '$event')";
}
mysql_query($sql, $con)
or die("MySQL Error: ".mysql_error());
if(isset($_POST['tshirt'])) {
$tshrt = $_POST['tshirt'];
$sql="INSERT INTO sportevent_parameters.T_Shirt(value, user_ref, event) VALUES ('$tshrt', '$id', '$event') ON DUPLICATE KEY UPDATE";
}
mysql_query($sql, $con)
or die("MySQL Error: ".mysql_error());
if(isset($_POST['partnerid'])) {
$sql="INSERT INTO sportevent_parameters.Partner_ID(value, user_ref, event) VALUES ('$partnerid', '$id', '$event')";
}
mysql_query($sql, $con)
or die("MySQL Error: ".mysql_error());
if(isset($_POST['racecategory'])) {
$sql="INSERT INTO sportevent_parameters.Race_Category(value, user_ref, event) VALUES ('$category', '$id', '$event')";
}
mysql_query($sql, $con)
or die("MySQL Error: ".mysql_error());
什么会导致它在数据库中插入多个副本?
【问题讨论】:
-
无论您在
$_POST中有什么值,您的代码都会向服务器发送四个查询。这是因为你有四个mysql_query()声明(未包含在if条件中)。
标签: php mysql database forms insert