2013-08-05 51 views
0

我使用插入查詢插入記錄到數據庫中如何在記錄插入時獲取ID?

INSERT INTO task_record(assigned_by,handle_by) VALUES('$assigned_by', '$handle_by')

添加此記錄分配一個唯一的ID,我想只要記錄插入獲取ID的每個記錄。 有沒有簡單的方法來修改查詢,我必須使用的選擇多了一個查詢是不個不錯的選擇

+4

'SELECT LAST_INSERT_ID()'直接的SQL,並查找API的具體信息。 – DevZer0

+0

http://stackoverflow.com/questions/897356/php-mysql-insert-row-then-get-id – ale

+0

我已經嘗試過這個'echo $ id = mysql_insert_id();' 我有這條線之後數據被插入 但返回0 –

回答

0

$this->db->insert_id()嘗試像

echo "The Last Insert Id is ".$this->db->insert_id(); 

或者像

echo "The Last Insert Id is ".$this->insert_id(); 

或甚至簡單地

echo "The Last Insert Id is ".mysql_insert_id(); 

但儘量避免使用mysql_*函數,因爲它們已被棄用。而不是使用mysqli_*函數或PDO語句。

編輯:

$query = "SELECT LAST_INSERT_ID() task_id"; 
$result = mysql_query($query); 
while($row = mysql_fetch_array($result)){ 
    $id = $row['task_id']; 
} 
echo $id; 
+0

它使用語句'echo「返回0最後一個插入ID是」.mysql_insert_id(); ' –

+0

你是從前兩個得到結果..? – Gautam3164

+0

最後一個也給插入的ID ..你可能做錯了插入query.check一次 – Gautam3164

0

如果使用MySQL的接口插入查詢後直接執行SELECT LAST_INSERT_ID()

與現在obsolote mysql擴展,你可以執行mysql_insert_id();

與MySQL改進的擴展使用mysqli_insert_id();

+0

哪個參數被傳遞給'mysqli_insert_id();'? –

+0

如果其爲空,則會發出錯誤 –