首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果名称已在数据库中,则更新MYSQL表

如果名称已在数据库中,则更新MYSQL表
EN

Stack Overflow用户
提问于 2018-05-02 23:43:24
回答 1查看 24关注 0票数 0

我有一个存储用户详细信息的数据库,我希望用户能够更新他们的详细信息,如果他们的名字匹配。

目前我将详细信息提交给数据库,如下所示:

代码语言:javascript
复制
$sql="INSERT INTO gdpr_info (name, email, phone, comments, phoneout, emailout, postout, phonein, emailin, postin) VALUES ('".$yourName."','".$yourEmail."', '".$yourPhone."', '".$comments."','".$phoneout."','".$emailout."','".$postout."','".$phonein."','".$emailin."','".$postin."')";

例如,如果一个叫'Robbie Fowler‘的用户想要更新他的电子邮件,他会转到表单,输入他的姓名,之后他输入的任何其他内容都会更新他的行,而不是创建一个新行。

我已经看到了复制键选项,但是在表单上有复选框,所以我担心如果我使用复选框,大多数表单将至少有一个复制键,并且它会更新错误的行。

您能否指定必须复制哪一列才能更新行?

EN

回答 1

Stack Overflow用户

发布于 2018-05-02 23:57:50

如果他是想要更新他的详细信息的用户,我想你可以使用mysql更新查询来更新,这将首先从数据库中获取用户。用户可以是想要更新电子邮件列的登录用户,如下所示的UPDATE table-name SET column ='.$_POST['newvalue'].' WHERE namecolumn ='.$loggedINuser.';

或者,如果您想要像您在问题中所说的那样,使用名称输入和新电子邮件来更改bame,则单击UPDATE table-name SET column ='..$_POST['newvalue'].' WHERE namecolumn ='.$_POST['name'].';

另外,我猜一个表中只能有一个主字段,所以只需查找您可以有多个唯一列,但只能有一个主列(建议使用id列)

希望这能行得通

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50138576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档