2010-02-15 93 views
5

我正在插入一條記錄,我想使用插入的最後一條記錄的ID。 這是我曾嘗試:選擇最後一個插入ID

$sql = 
    'INSERT INTO customer 
(first_name, 
last_name, 
email, 
password, 
date_created, 
dob, 
gender, 
customer_type) 
VALUES(:first_name, 
:last_name, 
:email, 
:password, 
:date_created, 
:dob, 
:gender, 
:customer_type)' . ' SELECT LAST_INSERT_ID()' ; 

我收到錯誤:
您的SQL語法錯誤;檢查與您的MySQL 服務器版本對應的手冊,以找到在「SELECT LAST_INSERT_ID()」附近使用的正確語法。 任何人都可以告訴我我的錯誤在哪裏? 謝謝!

+0

注:我設置這個作爲備份問題的參考。但是,建議您使用PDO或MySQLi代替普通的舊mysl_ * –

回答

12

退房mysql_insert_id()

mysql_query($sql); 
$id = mysql_insert_id(); 

當你用於mysql_query執行的INSERT語句後該函數是run()命令,其結果將是剛創建的行的ID。

+0

非常感謝!它的工作原理! :) – chupinette

+0

@chupinette很高興幫助。 – nortron

+0

其實我現在有一個問題, mysql_insert_id()[function.mysql-insert-id]:訪問拒絕用戶'ODBC'@'localhost' – chupinette

0

你可以做另一個查詢:

$last_id = "SELECT LAST_INSERT_ID()";

或者嘗試在你的查詢添加;

INSERT INTO customer (first_name, last_name, email, password, date_created, dob, gender, customer_type) VALUES(:first_name, :last_name, :email, :password, :date_created, :dob, :gender, :customer_type)<b>;</b>' . ' SELECT LAST_INSERT_ID()';