php mysql_insert_id()返回數據庫最新id實現方法,有需要同學可參考一下,代碼如下:
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(),代碼如下:
- <?php
- $con = mysql_connect("localhost", "hello", "321");
- if (!$con)
- {
- die('Could not connect: ' . mysql_error());
- }
- $db_selected = mysql_select_db("test_db",$con);
- //開源代碼Vevb.com
- $sql = "INSERT INTO person VALUES ('Carter','Thomas','Beijing')";
- $result = mysql_query($sql,$con);
- echo "ID of last inserted record is: " . mysql_insert_id();
- mysql_close($con);
- ?>
mysql_insert_id() 返回給定的 link_identifier 中上一步 INSERT 查詢中產生的 AUTO_INCREMENT 的 ID 號,如果沒有指定 link_identifier,則使用上一個打開的連接,如果上一查詢沒有產生 AUTO_INCREMENT 的值,則 mysql_insert_id() 返回 0,如果需要保存該值以后使用,要確保在產生了值的查詢之后立即調用 mysql_insert_id().
LAST_INSERT_ID()
MySQL也提供了這么一個同樣功能的API,它總是保存著最新產生的AUTO_INCREMENT值,并且不會在查詢語句之間被重置,也就是說,在執行INSERT操作后,執行SELECT、UPDATE、DELETE語句都不會影響該API的返回值.
可以用 SELECT LAST_INSERT_ID();來查詢LAST_INSERT_ID() 的返回值.
使用單條INSERT語句插入多條記錄,LAST_INSERT_ID() 只返回插入的第一條記錄產生的AUTO_INCREMENT值.
新聞熱點
疑難解答