PHP / SQL将用户标识添加到新用户的查找表中

时间:2013-04-25 15:13:28

标签: php sql

我有一个脚本,它将新用户添加到数据库并将它们存储在users表中。我还有一个合同表(合同清单)和一个用户签订合同的查找/链接表。

我想知道将新用户添加到合约表的最佳方式,当您不知道他们将获得的唯一ID时是什么?

示例:

第1步 - 注册表单包含正常的用户输入,用户名,密码等,以及合同的多个复选框(所有合同也都有唯一的ID)。

第2步 - 提交表单并将用户详细信息添加到用户表中,并为该新用户生成唯一ID。

第3步 - 使用所选合同的唯一ID和新用户的唯一ID,将在步骤1中选择的合同插入到users_contracts表中。

这是我有脑块的地方。我如何知道新用户的唯一ID是什么?

我现在能想到的唯一方法是正常插入新用户,然后对新用户名执行另一次查询并从数据库中提取新用户ID,然后在第三个查询中将其插入到users_contracts表中

类似的东西:

INSERT INTO `users` _POST DATA FROM FORM

然后获取上面的INSERTED用户并存储在变量中:

SELECT FROM users _POST USERNAME

然后将其添加到users_contracts表:

INSERT INTO users_contracts _POST contracts and the above created variable for the users ID

SORRY应该提到使用PDO进行插入和所有数据库活动。

1 个答案:

答案 0 :(得分:0)

运行用户插入查询后,运行:

$userId = mysql_insert_id();

返回先前插入的行的ID。

编辑:因为有人会提到它,你应该使用mysqli_insert_id()因为mysql_insert_id()和其他MySQL(而不是MySQLi)最终会被弃用。