PHP/MySQL在提交时插入多个数据表
我正在工作中构建一个web应用程序,我有一个表单,用户可以在其中注册某些类型的信息PHP/MySQL在提交时插入多个数据表,php,postgresql,Php,Postgresql,我正在工作中构建一个web应用程序,我有一个表单,用户可以在其中注册某些类型的信息 Username | Password |公司 现在我不知道该怎么做。我想要的是,当用户提交注册表时,用户名、密码和公司被写入一个数据表(用户),但由于用户数据表中的公司是外键引用,我需要将公司作为主键写入一个单独的数据表(公司)(当然,用户名要作为FK引用写入,因为它是1-1关系) 我不是在寻找你们的编码解决方案,因为我知道我的PHP和MYSQL,我只是在寻找一些伪代码算法,以获得创造性的果汁流动 编辑:我使
Username | Password |公司
现在我不知道该怎么做。我想要的是,当用户提交注册表时,用户名、密码和公司被写入一个数据表(用户),但由于用户数据表中的公司是外键引用,我需要将公司作为主键写入一个单独的数据表(公司)(当然,用户名要作为FK引用写入,因为它是1-1关系)
我不是在寻找你们的编码解决方案,因为我知道我的PHP和MYSQL,我只是在寻找一些伪代码算法,以获得创造性的果汁流动
编辑:我使用的是POSTGRESQL而不是MYSQL,但我很确定除了端口号和小的语法更改之外,没有什么区别开始在表compagny中插入compagny。 获取id。(有一个sql请求,如
LastInsertId
)
在用户表中插入user/password/IdCompagny
编辑:一些帮助:假设第一列是
id
:
$mysqli->query(“插入公司值(NULL,$Company_name”);
$company\u id=$mysqli->insert\u id;
$mysqli->query(“插入到用户值中(NULL,$username','$password','$company_id');
$user\u id=$mysqli->insert\u id;
$mysqli->query(“更新公司设置用户\u id=$user\u id,其中公司\u id=$company\u id)”;
- 为什么User:Company==1:1?如果我和同事加入你的网站,我们需要假装在不同的地方工作吗
- 如果公司可以有多个员工,您将采用什么样的验证来组合公司名称的变化(例如IBM与国际商业机器)
- 如果用户失业怎么办
- 用户提交
和用户名
密码
- 过滤输入中的不良内容,并验证其重复性、适用性
- 保存到数据库并检索用户PK
- 加载“附加信息”页面并将会话变量设置为“nag”标志 -如果用户选择不填写添加信息,nag标志会触发提醒行为
- 将自动完成添加到公司字段,以便用户可以使用现有的公司表条目
- 处理表单并保存到数据库
- 添加公司和关联用户
- 或者只是关联用户
- 取消设置会话唠叨标志,使您的网站不会继续唠叨
用户_id
在公司
表中,您需要获取在步骤3中创建的用户id,并使用此id更新公司
表id@DanielD问题是关于mysql的。我想postgre也有类似的方法。$mysqli是mysql特有的-谢谢你,我今天做了一百万件事!什么都想不出来!我会接受你的答案作为正确答案d谢谢你的帮助。好的,那很酷。对不起,我应该提到我正在使用PostgreSql。我不能透露太多关于我作为政府项目工作的项目的信息,但在这种情况下,我有一个1..1的关系是有效的。@DanielD很公平。我问这些问题是因为我有一个“诚实的,永远只有一个”谈话太多了。通常几个月后,有人会说“我怎么不能……”。我发现设计数据库来考虑这一点通常更好,并在PHP中实现1:1业务规则。是的,这是完全可以理解的,我完全同意我的解释。MySQL和Postgres之间有很大的区别。使用后者,您可以通过修改数据CTE一步解决这个问题-如下面所示。