我正在尝试使用函数qazxsw poi在mySQL表中插入一些数据。如果已经有用户注册了相同的电子邮件,我想更新这些值。
所以我在搜索了这个讨论之后实现了下面的代码:INSERT INTO ... ON DUPLICATE KEY
,link-1和其他链接......
我也看了手册link-2
link-4
实际上,代码可以正确插入新用户。但是,如果我尝试更新已存在的用户,则会创建新记录。所以我有两个用户使用相同的电子邮件注册(如果已经有表中的电子邮件,我需要更新用户)
我希望这个问题符合标准,我已经完成了stackoverflow的所有研究,但没有一个答案可以帮助我。所以请不要将我的问题标记为重复。
附:我实际上是一名没有编码经验的网页设计师,这个项目超出了我的能力范围。但不幸的是,我必须解决这个问题。谢谢。
列电子邮件应该是UNIQUE。
$query=mysqli_query($conn,"INSERT INTO theElisa_signUp (name, email, telephone, user, psw, role, expire_date)
VALUES ('$name', '$email', 'not-set', '$username', '$password', '$role', '$expire_date')
ON DUPLICATE KEY
UPDATE name = '$name', user ='$username', psw = '$password', expire_date = '$expire_date' ");
你可以使用两个查询ALTER TABLE `theElisa_signUpADD` UNIQUE (email);
here's reference