可能是重复问题:
PHP:如何获取表中最后插入的ID?
我正在编写一个将数据添加到数据库的函数,但我想立即在我的代码中使用该条目。
我知道可以查询:SELECT id FROM table ORDER BY id DESC
但我想知道是否有更直接的方法。
可能是重复问题:
PHP:如何获取表中最后插入的ID?
我正在编写一个将数据添加到数据库的函数,但我想立即在我的代码中使用该条目。
我知道可以查询:SELECT id FROM table ORDER BY id DESC
但我想知道是否有更直接的方法。
这主要取决于您用于访问MySQL的接口。
如果使用PDO(推荐),则可以使用PDO::lastInsertId()
:http://us.php.net/manual/en/pdo.lastinsertid.php
如果使用MySQL,则可以使用 mysql_insert_id()
:http://php.net/manual/en/function.mysql-insert-id.php
如果使用MySQLi,则可以使用mysqli_insert_id()
:http://us.php.net/manual/en/mysqli.insert-id.php
在INSERT完成后,只需调用适当的函数即可。
需要注意的是,您可能不希望使用SELECT从数据库中获取id,因为如果有多个编写者,您可能会获取到其他线程插入的id。最好的情况下,您将操作错误的数据,而在最坏的情况下,可能会出现严重的安全问题和/或损坏。