我对PHP完全陌生,我正在尝试创建一个注册页面。要进行注册,用户必须创建用户名,密码,电子邮件,并将其放入名为的表中users。
users
他们还输入地址详细信息,该详细信息放入名为的表中customer_info。
customer_info
在两个表中,我都创建了一个自动增量主键,称为“ user_id”。
表单填写完成后,它会填写并输入数据,但是数据没有绑定,因此有两个user_id,一个为inusers和一个in为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_ *扩展名。前往PDO或mysqli
您的技术会生成两个不同的唯一ID。关键是只有 一个 ,以便它可以是唯一的,并在该唯一ID上链接信息。
users表是具有唯一ID的表user_id,它是您的auto_increment列。customer_info表也可以具有info_id唯一列,但必须包含一user_id列,该列将包含用户的user_id,将行链接在一起。
user_id
info_id
最好在表中添加外键,这样就不会损害数据的完整性。
所以在这个查询之后:
获取插入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')" );