2010-12-05 58 views
6

可能重复:
PHP: how to get last inserted ID of a table?如何获得一排我刚刚插入的PHP的ID/MySQL的

我正在写一个函数来添加数据做一个数据库,但是我想立即在我的代码中使用该条目。

我知道我可以查询:SELECT ID FROM表ORDER BY ID DESC

但我不知道是否有这样做的任何更直接的方式。

+0

您可能想看看我之前为相关问题提供的示例:http://stackoverflow.com/questions/4358531/mysql-insert-id-does-not-return-the-last-inserted -id-when-i-place-in-a-functi/4358609#4358609 – Mike 2010-12-05 19:39:18

回答

13

这主要取决于你用来访问MySQL的接口。

如果你使用PDO(推荐),你会使用PDO::lastInsertId()http://us.php.net/manual/en/pdo.lastinsertid.php

如果你使用MySQL,你如果你使用的MySQLi会使用mysql_insert_id()http://php.net/manual/en/function.mysql-insert-id.php

,你'使用mysqli_insert_id()http://us.php.net/manual/en/mysqli.insert-id.php

只需在INSERT完成后立即调用适合的函数即可。

重要的是要注意,您可能不要想要使用SELECT从数据库中提取id,因为如果您有多个编写器,您可能会得到某个其他线程插入的编号。充其量,你会操作错误的数据,最糟糕的是,你可能会遇到严重的安全问题和/或损坏。

+2

+1可能不是第一个,但它是最全面的。 :-) – 2010-12-05 19:43:21

3
select last_insert_id(); 

Doc

相关问题