程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php mysql_insert_id()返回數據庫最新id實現方法

php mysql_insert_id()返回數據庫最新id實現方法

編輯:關於PHP編程

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);

$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值。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved