2012-02-10 64 views
0

我不知道什麼即時通訊做錯了,但下面的代碼似乎並沒有爲我工作,只是爲$用戶名爲空。數據庫中肯定存在值,並且我已經連接到此數據庫,並使用完全相同的代碼對其執行查詢並工作。php oracle檢索日期

誰能告訴我爲什麼這段代碼不工作?

$c = oci_connect('myuser','mypassword','//localhost/xe'); 

$id = 1; 
$sql = "SELECT * FROM USERS WHERE USERID= :id" ; 

$stmt = oci_parse($c, $sql); 
oci_bind_by_name($stmt, ":id",$id); 

oci_execute($stmt); 
$res = oci_fetch_array($stmt); 

$username = $res["USERNAME"]; 
echo $username; 
+0

代碼看起來我的權利。你確定你有一個id = 1的用戶嗎? – 2012-02-10 18:37:10

+0

我敢肯定,你應該循環該數組或指的是關鍵值的第一個結果... – Flukey 2012-02-10 18:41:34

+0

嘿是肯定,我使用此代碼之前,工作,我只是不知道發生了什麼,我打印出$水庫和它有正確的結果在我 – clonebaby59 2012-02-10 18:43:25

回答

0

您可能有一個帶NULL用戶名的記錄。

嘗試更換:

$res = oci_fetch_array($stmt); 
$username = $res["USERNAME"]; 

有:

while($res = oci_fetch_array($stmt)) 
{ 
    $username = $res["USERNAME"]; 
    echo $username; 
}