我有一个脚本,它将新用户添加到数据库并将它们存储在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进行插入和所有数据库活动。
答案 0 :(得分:0)
运行用户插入查询后,运行:
$userId = mysql_insert_id();
返回先前插入的行的ID。
编辑:因为有人会提到它,你应该使用mysqli_insert_id()因为mysql_insert_id()和其他MySQL(而不是MySQLi)最终会被弃用。