插入两个表行,然后按ID联接到关系表中


Insert two table rows, then join in relational table by ID

我有一个表单,它包含两个名称和两个电子邮件地址,然后是一个密码。

我希望编写多个查询,以便将姓名和电子邮件插入到一个表中,然后将数据库为这两个表生成的自动递增ID与密码一起插入到第二个表中。

我运行一个插入查询,获取last_insert_id,然后运行另一个并执行同样的操作。

当我使用last_insert_id获取自动递增的值时,有没有办法将这两个值都存储为变量,这样我就可以很容易地将它们的相关ID同时插入到第二个表中?一旦我第二次使用last_insert_id,它似乎会丢失第一个值。

我们将非常感谢关于使用方法或前进方向的指针。我喜欢自己找出要使用的确切代码。

编辑:

这些是我的查询,运行良好,除了创建的UID是1和2,但插入到第二个表中的是ID 0和1。知道为什么吗?

$your_query = "INSERT INTO MEMBERS (NAME, EMAIL) VALUES ('$your_name', '$your_email')";
$your_id = (mysql_insert_id());
mysql_query($your_query);
$partner_query = "INSERT INTO MEMBERS (NAME, EMAIL) VALUES ('$partner_name', '$partner_email')";
$partner_id = (mysql_insert_id());
mysql_query($partner_query);
$couples_query = "INSERT INTO COUPLES (UID_1, UID_2, PASSWORD, SALT) VALUES ('$your_id', '$partner_id', '$password', '$salt')";
mysql_query($couples_query);

原来我在每个mysql_insert_id周围都有一些额外的括号,它应该在mysql_query之后运行。

$your_query = "INSERT INTO MEMBERS (NAME, EMAIL) VALUES ('$your_name', '$your_email')";
mysql_query($your_query);
$your_id = mysql_insert_id();
$partner_query = "INSERT INTO MEMBERS (NAME, EMAIL) VALUES ('$partner_name', '$partner_email')";
mysql_query($partner_query);
$partner_id = mysql_insert_id();
$couples_query = "INSERT INTO COUPLES (UID_1, UID_2, PASSWORD, SALT) VALUES ('$your_id', '$partner_id', '$password', '$salt')";
mysql_query($couples_query);