php - 如何将数据发送到具有相同用户ID作为主键的两个表?

标签 php html mysql sql

我是 PHP 的新手,我正在尝试创建一个注册页面。要注册,用户必须创建一个用户名、密码、电子邮件,并将其放入名为 users 的表中。

他们还输入地址详细信息,这些详细信息被放入名为 customer_info 的表中。

在这两个表中,我都创建了一个名为“user_id”的自动递增主键。

当表单完成后,它会填写并输入数据,但数据不是带状的,因此有两个 user_id,一个在 users 中,一个在 customer_info 中.

首先,我创建已输入的值(来自帖子)并将它们分配给变量。然后我使用以下查询将变量放入表中:

$result = mysql_query(
    "INSERT INTO `users`(username, password, email) VALUES ('$value1', '$value2','$value3')"
);

$result = mysql_query(
    "INSERT INTO `customer_info`(firstname, lastname, b_add_num, b_add_road, b_add_town, b_add_pc, p_add_num, p_add_road, p_add_town, p_add_pc) VALUES ('$value4','$value5','$value6','$value7','$value8','$value9','$value10','$value11','$value12','$value13')"
);

我如何设置它以便它只为两个表创建一个用户 ID(在数据集之间建立连接)?

我的查询中是否缺少应该连接表的内容?

最佳答案

在此之前,您不应该再使用 mysql_* 扩展。前往PDOmysqli


您的技术会生成两个不同的唯一 ID。重点是只有一个,这样它就可以是唯一的,并在那个唯一的 id 上链接信息。

users 表是具有唯一 ID user_id 的表,它是您的 auto_increment 列。 customer_info 表也可以有一个 info_id 唯一列,但必须包含一个 user_id 列,它将包含用户的 user_id,将行链接在一起.

添加 foreign key 也是一个很好的时机到您的表,这样数据的完整性就不会受到损害。

所以在这个查询之后:

$result = mysql_query(
    "INSERT INTO `users`(username, password, email) VALUES ('$value1', '$value2','$value3')"
);

获取插入id:

$id = mysql_insert_id();

然后用它运行你的其他查询:

$result = mysql_query(
    "INSERT INTO `customer_info`(user_id,firstname, lastname, b_add_num, b_add_road, b_add_town, b_add_pc, p_add_num, p_add_road, p_add_town, p_add_pc) VALUES ('$id','$value4','$value5','$value6','$value7','$value8','$value9','$value10','$value11','$value12','$value13')"
);

关于php - 如何将数据发送到具有相同用户ID作为主键的两个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20384834/

相关文章:

php - Wordpress:获取自定义字段的所有值

javascript - 单击另一个表单输入字段时自动勾选复选框

javascript - 基于先前选择的下拉列表根本不填充

php - 删除函数时 JQuery 闪烁

php - 如何使用 jQuery 和 MySQL 在同一页面上提交和显示?

javascript - 如何在javascript中保存变量的值

java - 如何提交具有多个不同迭代值的 html 表单帖子?

php - Bootstrap 表使用连续数据从 MySQL 轮询更新

php - 如何将这个php查询翻译成mysql?

php - 要搜索+替换 href ="URL"的正则表达式