mysql_insert_id
(PHP 4, PHP 5)
mysql_insert_id — 取得上一步 INSERT 操作產生的 ID
說明
mysql_insert_id(resource
$link_identifier = ?): int mysql_insert_id() 返回給定的 link_identifier 中上一步 INSERT 查詢中產生的 AUTO_INCREMENT 的 ID 號。如果沒有指定 link_identifier,則使用上一個打開的連線。
如果上一查詢沒有產生 AUTO_INCREMENT 的值,則 mysql_insert_id() 返回 0。如果需要儲存該值以後使用,要確保在產生了值的查詢之後立即呼叫 mysql_insert_id()。
注意:
MySQL 中的 SQL 函式
LAST_INSERT_ID()總是儲存著最新產生的 AUTO_INCREMENT 值,並且不會在查詢語句之間被重置。
警告
mysql_insert_id() 將
MySQL 內部的 C API 函式 mysql_insert_id() 的返回值轉換成 long(PHP 中命名為 int)。如果
AUTO_INCREMENT 的列的型別是 BIGINT,則 mysql_insert_id() 返回的值將不正確。可以在 SQL 查詢中用
MySQL 內部的 SQL 函式 LAST_INSERT_ID() 來替代。
示例 #1 mysql_insert_id() 例子
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf ("Last inserted record has id %d\n", mysql_insert_id());
?> 參見 mysql_query()。