0

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

当您不知道他们将获得的唯一 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

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

4

1 回答 1

0

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

$userId = mysql_insert_id();

返回先前插入的行的 ID。

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

于 2013-04-25T15:17:04.070 回答