如何獲取剛剛爲當前用戶插入的id
(如果受AUTO_INCREMENT
控制)?插入新行後獲取AUTO_INCREMENT值
(我需要的編號用於其他用途)
注:一些行可以被刪除,MAX(id)
是不是一種選擇。
例:
插入行2
插排3
刪除的行3
插排4個,但MAX(id)
回報3 ..
非常感謝您!
如何獲取剛剛爲當前用戶插入的id
(如果受AUTO_INCREMENT
控制)?插入新行後獲取AUTO_INCREMENT值
(我需要的編號用於其他用途)
注:一些行可以被刪除,MAX(id)
是不是一種選擇。
例:
插入行2
插排3
刪除的行3
插排4個,但MAX(id)
回報3 ..
非常感謝您!
隨着PDO:
$db->lastInsertId(); // $db is the PDO object
隨着MySQLi的OOP:
$db->insert_id; // $db is the MySQLi object
隨着MySQLi的程序:
mysqli_insert_id($db); // $db is the connection variable
如果您使用的是舊版本的MySQL API,開關。
嘗試
選擇@@身份
這應該在標識列返回的最後一個值
可以使用mysql_insert_id
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
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_insert_id已棄用。現在它mysqli_insert_id
由於您的答案是用PHP標記的,因此我會在這種情況下回答。如果您使用的是PDO API,則可以使用PDO::lastInsertId。如果您使用的是mysql函數API,則相當於mysqli_insert_id或mysql_insert_id。
編輯:Ninja'd:P
使用mysql_insert_id()或mysqli_insert_id()
我不明白如何使用它.. mysql_insert_id返回int,它只是進入一個變量。但mysqli_insert_id返回混合,我不知道如何使用它.. – NirPes
對於mysqli_insert_id你需要傳遞連接變量到函數。像mysqli_insert_id($ con);你也可以使用LAST_INSERT_ID()。 –
您已經標記了這個問題[標籤:PHP]:您正在使用哪個API? – eggyal