阅读:2111回复:0
数据库操作时返回insert语句产生的id
有些时候在执行数据库的INSERT操作后需要知道其产生的ID(我用的MySQL,主键都是设的AUTO_INCREMENT,执行插入操作的时候不用指定ID的值而由数据库自行产生),这时候就可以使用PHP的函数mysql_insert_id()直接获得这个ID,非常方便。
但是有一点,如果在INSERT语句里面明确指出了具有AUTO_INCREMENT属性的ID列的值,那么函数将返回0,因为该ID值是由用户指定的,不是由数据库自动产生的。 PHP手册对该函数的描述如下: mysql_insert_id() mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID。如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0。 语法:mysql_insert_id(connection) 参数connection,可选。规定 MySQL 连接。如果未规定,则使用上一个连接。 mysql_insert_id() 返回给定的 connection 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 connection ,则使用上一个打开的连接。 如果需要保存该值以后使用,要确保在产生了值的查询之后立即调用 mysql_insert_id()。 |
|