如何获取我刚刚插入php/mysql的行的id

Dam*_*mon 6 php mysql insert

可能重复:
PHP:如何获取表的最后插入ID?

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

我知道我可以查询:SELECT id FROM table ORDER BY id DESC

但我想知道是否还有更直接的方法.

Don*_*ill 13

这主要取决于您用于访问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.充其量,您将使用错误的数据进行操作,最糟糕的是,您可能会遇到严重的安全问题和/或损坏.

  • +1可能不是第一个,但它是最全面的.:-) (2认同)

Dav*_*cic 7

使用PHP,您可以使用mysql_insert_id()函数.