外键和登记表

时间:2016-04-19 13:59:15

标签: php sql database mysqli foreign-keys

我真的需要帮助,并且找不到任何与我的问题有关的问题,所以我在这里。

我有一个注册表格,分为3个阶段,因此有3个表格。请记住,我已经在phpmyadmin中索引并创建了外键约束。

第一阶段是用户(表):

CREATE TABLE `dbtest`.`users`(
`user_id` INT(5) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`email` VARCHAR(35) NOT NULL,
`password` VARCHAR(50) NOT NULL,
 UNIQUE(`email`)
 ) ENGINE = INNODB;

当用户填写第一阶段并将数据发布到数据库中并且第一个user_id变为1.然后用户被重定向到下一个阶段(表):

CREATE TABLE `dbtest`.`personal`(
`player_id` INT(5) NOT NULL,
`first` VARCHAR(35) NOT NULL,
`last` VARCHAR(35) NOT NULL,
`mobile` INT(12) NOT NULL,
`parentmobile` INT(12) NOT NULL,
`gender` VARCHAR(6) NOT NULL,
`address` VARCHAR(50) NOT NULL,
`city` VARCHAR(25) NOT NULL,
`postcode` VARCHAR(10) NOT NULL,
`county` VARCHAR(35) NOT NULL,
`country` VARCHAR(35) NOT NULL,
PRIMARY KEY(mobile)
) ENGINE = INNODB;

当他填写此表单时,所有数据都会发布到数据库中,但是player_id为0而不是1.我的问题是如何将第1阶段的user_id传递给第2阶段的player_id。我已将图片附加到我的代码中。< / p>

阶段1的PHP代码:

enter image description here

阶段2的PHP代码:

enter image description here

1 个答案:

答案 0 :(得分:0)

我不知道php,但我在其他语言中遇到过类似的问题。你想要的是最后一行插入的id,对吧?然后用它来插入注册的其他相关部分。

你真正需要知道的是如何找到id:

面向对象的风格

mixed $mysqli->insert_id;

程序风格

mixed mysqli_insert_id ( mysqli $link )

参考和更多信息:http://php.net/manual/en/mysqli.insert-id.php