2011-11-22 48 views
0

可能重複:
PHP: how to get last inserted ID of a table?從MySQL INSERT獲取ID

我有我的MySQL插入一個問題。我有一個ID列,它是AUTO_INCREMENT我運行此代碼到表:

mysql_query("INSERT INTO tickets (Submitted, UNIXtime, Subject, Text, User, Priority, Status, Service) VALUES ('$date', '$UNIXtime', '$subject', '$text', '$userss', '$priority', '$status', '$service')"); 

它然後插入該行的ID號。我如何獲得該ID號碼,以便我可以將其回顯出來,例如$id = (The ID number from that submit); echo $id;

感謝您的幫助。如果可以的話,你可以重寫代碼以使其工作併發布,以便我知道該怎麼辦?

+0

同意了 - 看起來重複 –

+0

@AdrianCornish我只是希望有人也有助於重寫我的代碼在上下文中 –

+0

@Darayus - 不夠公平 - 但也許再你應該說出你的問題「我如何重寫我的最後一個插入ID *」我正在學習stackoverflow現在只是爲了回答一個問題,但提供了「相同」問題的歷史答案 –

回答

4

您正在尋找mysql_insert_id()。該函數將返回最後一個查詢的ID。

你可以運行你的查詢後調用它:

mysql_query($insert_query); 
echo "Last ID is " . mysql_insert_id(); 
+0

我如何將它與我的代碼聯繫起來? –

+0

取代'(從該提交的ID號碼)' – SinistraD

0
+0

哇..這就是爲什麼我永遠不會在這個網站上發佈答案了。在我輸入我的答案的時候,同樣的事情已經發布了2個其他答案...... – Tim

+4

Tim,請花點時間回答問題。即使有人在你面前發表,並不意味着答案更好,甚至更正確。 – halfdan

+0

嘗試回答困難的問題,沒有人會打擾你:) – SinistraD

2

您可以使用mysql_insert_id來從表中的最後一個ID。注意:您必須在插入後立即致電mysql_insert_id,因爲它僅適用於上次執行的查詢。

$id = mysql_insert_id(); 
+0

我明白你的意思。有沒有辦法阻止,因爲我期待非常高的插入率。 –

+0

我將不得不改寫它,因爲它不完全正確。 – halfdan

+0

您也不必擔心併發請求,按預期工作,用戶將從他自己的插入中看到最後一個ID,忽略並行製作的其他插入 – SinistraD