Php 返回新插入的索引值

Php 返回新插入的索引值,php,mysql,Php,Mysql,我有两个表Production和Production\u DetailProduction\u Detail保存某些订单的详细信息,并具有Production的外键。当我在生产中插入一行时,自动递增列设置该行的键。我需要该键,以便它可以链接到新的Production\u Detail行,该行将在Production中插入主行后插入 我使用php插入数据: insert into Production Values ('','$producer_id','$order_date','$compan

我有两个表
Production
Production\u Detail
Production\u Detail
保存某些订单的详细信息,并具有
Production
的外键。当我在
生产中插入一行时,自动递增列设置该行的键。我需要该键,以便它可以链接到新的
Production\u Detail
行,该行将在
Production
中插入主行后插入

我使用php插入数据:

insert into Production Values ('','$producer_id','$order_date','$company_id','$emp_id');

我需要找到
'
部分,以便以后可以使用它。

如果使用PDO,则可以使用该函数

$id = $pdo->lastInsertId();

In取决于您使用的mysql/查询扩展名,但PHP有一个函数可以返回最近插入的行的自动增量值。


根据您使用数据库的方式,您可能必须传递数据库变量

mysql

mysqli

$last_id = mysqli_insert_id($db);

取决于您用于执行多次重复插入的函数或方法。我使用ajax来调用此函数或方法,我需要该id以便可以将该id用于其他插入要求。但是如果有多个用户使用该脚本呢?它不会导致冲突吗?不会。我不知道确切的解释方法,但它会给你上面查询的id,因为它与数据库是相同的“连接”。也许其他人可以解释得很清楚。谢谢!我读了描述,它说它打开了一个与
mysql\u connect()
的连接。另外,如果你使用
mysql\u connect()
,你需要使用mysql\u insert\u id(),就像其他人说的那样。如果使用PDO扩展,
lastInsertId()
可以工作
$last_id = mysqli_insert_id($db);