有许多教程,但我还没能以某种方式使它工作。
我正在尝试更新我的表格,如果除了列之外的所有数据都匹配我通过表单插入的数据。我在后端使用php作为脚本语言和mysql。
$name = $_POST['name'];
$phone = $_POST['phone'];
$genders = $_POST['gender'];
$hno = $_POST['hno'];
$sector = $_POST['sector'];
$city = $_POST['city'];
$state = $_POST['state'];
$pin = $_POST['pin'];
$ailt = $_POST['ailt'];
$q="INSERT INTO manage (name, phone, gender, hno, sector, city, state, pin, ailt)
VALUES ('$name', '$phone', '$genders', '$hno', '$sector','$city','$state','$pin','$ailt')
ON DUPLICATE KEY UPDATE ailt='$ailt'";
我尝试做的是插入数据(如果数据尚未存在),或者除了ailt
之外的所有字段都匹配时,请使用新的ailt
更新该行
我被困在这几个小时。看起来很简单,但我不能让它工作,因为行继续插入。他们不会更新,即使我保持所有数据相同并为其提供不同的价值。
答案 0 :(得分:0)
鉴于评论充斥着SQL注入,我再也不会对此产生影响。
您正在寻找的语法是UPDATE ailt=VALUES(ailt)
。
请参阅the docs中以&#34开头的段落;您可以使用VALUES(col_name)函数"有关更多详细信息。
编辑:关于行"继续插入"的评论,可能是因为你没有在数据库上有一个PRIMARY或UNIQUE键,可以识别到哪一行更新。请参阅我上面链接的文档的第一段,以供参考。