2011-11-04 41 views
0

我有一個PHP腳本,它將數據插入到mysql數據庫中。該表具有自動增量列。mysql_insert_id()查看最後插入記錄的值

我想使用mysql_insert_id()函數來獲取最後插入記錄的值。

出於某種原因,此函數返回其中的AutoID列具有任何幫助理解的300037.

的值值0。謝謝。

我的代碼片段如下:

$sqlinsertdelivery="INSERT INTO deliverydetails (`LoadID1`,`deliveryroute`,`source`,`destination`,`route`,`CollectionArea1`, `CollectionArea2`, `CollectionArea3`, `CollectionArea4`, `CollectionDate`, `collectiontime`, `Destination1`, `Destination2`, `Destination3`, `Destination4`, `ArrivalDate`, `ArrivalTime`, `DeliveryCreationDateTime`, `DeliveryCreatedBy`,`comments`,`trailertype`) 
VALUES 
($loadnumber,'$route1','Hulamin','$dest1','$_SESSION[sessionrouteid]','$_POST[dispatchid1]','$_POST[dispatchid2]','$_POST[dispatchid3]','$_POST[dispatchid4]','$_POST[coldatetime]','$_POST[deltime]','$_POST[drop1]','$_POST[drop2]','$_POST[drop3]','$_POST[drop4]','$_POST[arrivedatetime]','$_POST[arrivetime]',CURRENT_TIMESTAMP,'$session->username','$_POST[comments]','$_POST[vehicletype]') 
"; 
    if (!mysql_query($sqlinsertdelivery,$con)) 
    { 
    die('Error with insert statement: ' . mysql_error()); 
    } 


$delid = mysql_insert_id(); 
echo $delid; 

回答

1

遠投,但第一次嘗試與mysql_insert_id($con);

更換mysql_insert_id();在一個側面說明,請告訴我這是代碼,將在生產。

+1

你可以添加到你的文章上面的數據庫表CREATE SQL嗎? –

+0

丹尼爾,道歉!你的解決方案是100%正確的,並且工作完美。 – Smudger

+1

我想強調你的查詢對SQL注入攻擊是開放的。請將所有變量的衛生技術應用到mysql查詢中。除此之外,如果您打算使用'mysql_' *函數,請在進入查詢的所有變量中使用'mysql_real_escape_string()'。在那裏安全! –

相關問題