Php 如何将表1中的PK(主键)插入表2中的FK(外键),然后显示结果

Php 如何将表1中的PK(主键)插入表2中的FK(外键),然后显示结果,php,mysql,insert,foreign-keys,primary-key,Php,Mysql,Insert,Foreign Keys,Primary Key,我有mysql和PHP的问题。 首先 我有两张桌子: 表2客户 id\u cust->自动递增,不允许为空,不允许为主键 客户名称 住址 性别 表1 id\u列表->自动增量,不允许为空和PK id->FK来自表\u客户 列出你的名字 细节 我想问一下如何向这些表中插入数据,表customer必须填写,但table_list是可选的, 然后,如何用PHP显示它,因为我尝试了失败。我希望有人能帮助我 我的php代码如下所示: <?php $insert = mysql_query("INS

我有mysql和PHP的问题。 首先 我有两张桌子:

表2客户

id\u cust->自动递增,不允许为空,不允许为主键 客户名称 住址 性别 表1

id\u列表->自动增量,不允许为空和PK id->FK来自表\u客户 列出你的名字 细节 我想问一下如何向这些表中插入数据,表customer必须填写,但table_list是可选的, 然后,如何用PHP显示它,因为我尝试了失败。我希望有人能帮助我

我的php代码如下所示:

<?php

$insert = mysql_query("INSERT INTO id_cust (cust_name, address, sex)
VALUES ('$name', '$address', 'sex')");

?>

我不明白将SELECT命令插入FK表的位置。

您应该按顺序执行的查询:

//to begin transaction (lock the table)
BEGIN

//insert your customer
INSERT INTO table_customer (cust_name, address, sex) VALUES ( '$name' , '$address', '$sex')

//select last auto generated ID from customer table
SELECT id FROM table_customer ORDER BY id DESC LIMIT 1

//fetch the id selected in last query to $cID and use it in this query
INSERT INTO table_list (id, list_name, detail) VALUES ( $cID, '$listName', '$detail' )

//commit changes and end transaction
COMMIT

记住这只是一个例子,我没有写任何php代码,我想你可以自己做。要使它工作,你必须改变零碎的东西。但关键是要锁定和解锁table use事务,以便在您实际获得最新id之前,不能向客户添加其他行。

您尝试了什么,失败的地方是哪里?是否出现错误?您是否询问如何从表_客户处获取插入id?请向我们展示您已经尝试过的内容,以便我们提供一些帮助advises@JasonMcCreary->我没有看到错误,但是数据无法从php表单插入到表中抱歉,我已经有几天没有阅读它了,我仍然不明白,你能解释更多细节吗,,