2014-04-01 43 views
1

我想要插入最後一個id,但是我不知道如何在oracle中得到它。任何幫助將不勝感激。以下是我的查詢。最後一個id使用php oracle

$query = oci_parse($con,"INSERT INTO USER_LOGIN (USERNAME, PASSWORD, CNIC, ROLE_ID, PICTURE) 
        VALUES ('$Username', '$Password', '$CNIC', '$Role', '$Filename')"); 

獲取上述ID:(不知道)

$OK = oci_parse($con,"SELECT LAST_INSERT_ID() FROM USER_LOGIN"); 

oci_execute($OK); 
$row = oci_fetch_array($OK, OCI_ASSOC + OCI_RETURN_NULLS); 

if($row) 
{ 
    $USERID = $row['USER_ID']; 
} 
+0

什麼是「上面的ID」?在'user_login'中是否存在'id'列,該列使用'user_login'上的觸發器來填充?如果是這樣,該序列的名稱是什麼? last_insert_id()是你定義的函數嗎? –

回答

0

目前尚不清楚你正在努力實現(見賈斯汀的問題)是什麼。但是如果你想讓user_login表的觸發器填充的id返回到你的代碼中,你可以使用返回子句。

$query = oci_parse($con,"INSERT INTO USER_LOGIN (USERNAME, PASSWORD, CNIC, ROLE_ID, PICTURE) 
        VALUES ('$Username', '$Password', '$CNIC', '$Role', '$Filename') 
        RETURNING YOUR_ID 
        INTO :LAST_INS_ID"); 
oci_bind_by_name($query, ':LAST_INS_ID', $theNewID, 8);