2016-04-14 126 views
-1

我試圖在這裏找到答案,以及閱讀它的PHP文檔,但它沒有很好地解釋它。PHP MYSQL選擇最後插入的ID

我只是想獲取用戶插入的最後一個ID。我知道MYSQL已被棄用,但我需要這樣做。

這是我到目前爲止。

$query="INSERT INTO teams (team_name) 
VALUES 
('$team_name')"; 
mysql_query($query) or die('error'); 

$team_id = mysql_query("SELECT LAST_INSERT_ID()"); 

謝謝!

+1

什麼問題呢? – Chris

+1

你需要這樣做嗎,因爲這是一個學校項目?去告訴你的學校他們錯了......他們的WiFi網絡可能安全性很差,他們的藍牙很容易被劫持。 – Martin

+1

(您是否還*需要*使您的代碼看起來容易受到SQL注入的影響?是否存在*需要*以避免正確轉義併入SQL文本的值?)使用(不推薦使用) mysql_query函數,它應該返回結果集或返回FALSE(就像您運行的每個SELECT語句一樣),您可以測試返回值是否爲FALSE,因此,在下一行(未顯示)結果集,會發生什麼? (你問*一個問題*?或者只是給出一個狀態報告?)該表是否有一個AUTO_INCREMENT列? – spencer7593

回答

1

您可以通過PHP來完成。你並不需要一個查詢:mysql_insert_id()

+0

看到鏈接頁面上的那個大紅色框?不應再使用mysql_'函數 – kero

+1

@kingkero OP明確表示需要使用已棄用的'ext/mysql'擴展名。 – Mike

+2

@kingkero讓我們公平,您也應該爲其他答案投票使用'MySQL_' :-D – Martin

1

看看mysql_insert_id()http://php.net/manual/de/function.mysql-insert-id.php

但使用ON DUPLICATE KEY UPDATE語句時的問題提防。它在php文檔頁面的評論中有描述。

但您的解決方案也應該工作。另外,如果您使用的是mysql,請不要忘記您的輸入爲mysql_real_escape,您的情況爲$team_name

[插入強制性MySQL是過時這裏警告;)]

+1

刪除引號..只是'$ team_id = mysql_insert_id();' – arkuuu