嗨,你可以帮助我更新表格,如果id存在,那么如果没有插入它? 这是我的疑问:
if(isset($_POST['submit'])){
$a=$_POST['no1']; $b=$_POST['ans1']; $c=$_POST['det1'];
$d=$_POST['no2']; $e=$_POST['ans2']; $f=$_POST['det2'];
$g=$_POST['no3']; $h=$_POST['ans3']; $i=$_POST['det3'];
$j=$_POST['no4']; $k=$_POST['ans4']; $l=$_POST['det4'];
$m=$_POST['no5']; $n=$_POST['ans5']; $o=$_POST['det5'];
$p=$_POST['no6']; $q=$_POST['ans6']; $r=$_POST['det6'];
$s=$_POST['no7']; $t=$_POST['ans7']; $u=$_POST['det7'];
$v=$_POST['no8']; $w=$_POST['ans8']; $x=$_POST['det8'];
$y=$_POST['no9']; z=$_POST['ans9']; $zz=$_POST['det9'];
$aa=$_POST['no10']; $bb=$_POST['ans10']; $cc=$_POST['det10'];
$sql=mysql_query("insert into bfp_personnel_questions `(`id`,`question_number`,`answer`,`details`) VALUES ('$id', '$a', '$b','$c'), ('$id','$d','$e','$f'), ('$id','$g','$h','$i'), ('$id','$j','$k','$l'), ('$id','$m','$n','$o'), ('$id','$p','$q','$r'), ('$id','$s','$t','$u'), ('$id','$v','$w','$x'), ('$id','$y','$z','$zz'), ('$id','$aa','$bb','$cc')") or die(mysql_error());`
?><script>alert("Successfully Saved.");window.location="pds_1st.php?part=11";</script><?php }
}
答案 0 :(得分:0)
尝试SQL语法insert on duplicate key update。
答案 1 :(得分:0)
首先,你的剧本为prepared statements尖叫。您可以通过切换来大幅提高速度和性能(特别是因为您使用的是过时的mysql
扩展名。)
我认为id
是PRIMARY KEY
或至少是UNIQUE
索引。最简单的方法是执行INSERT IGNORE
,它将尝试插入您的记录,如果它们发生碰撞,则忽略错误并继续前进
INSERT INGORE INTO table(col1, col2)
VALUES('1', '2');
如果要替换值,可以在MySQL的更高版本中使用REPLACE
REPLACE INTO table(col1, col2)
VALUES('1', '2');
如果密钥已存在,则更新行。