2013-07-01 93 views
0

我想從PHP首次連接到遠程oracle數據庫。但是,當我嘗試從PHP我可以做一個連接,但我的PHP在使用執行查詢時死亡。oci_execute死亡並返回空白oci_error,爲什麼oci_error null?

爲什麼oci_error不返回任何內容?

代碼:

$conn = oci_connect('dbname', 'password', '//xx.xxx.xxx.xxx:1521/orcl'); 
if(!$conn){ 
    echo 'DB CON FAILURE'; 
    exit(0); 
} else { 
    echo 'DB CON SUCCESS'; 
} 
$query = "SELECT * FROM user_tables;"; 
$stid = oci_parse($conn, $query); 
echo $stid; 
oci_execute($stid) or die("Could not execute query: '" . oci_error() . "'"); 

返回:

DB CON SUCCESS 
Query: SELECT * FROM user_tables; 
Resource id #4 
Could not execute query: '' 

我的php.ini文件顯示安裝OCI8,我可以連接並用sqlplus從網絡服務器執行上述查詢。

回答

1

擺脫查詢中的尾隨分號。

+0

是的,我試過,同樣的事情。我不是故意把它放在那裏,我只是在試驗。 – Quinma

+0

其實它突然開始工作,當我這樣做,無視其他評論,羅布W你是我最喜歡的人 – Quinma

+0

酷!分號用於準備好的語句,但不用於查詢。我認爲文檔也討論了這一點的重要性。 Oracle非常具體(不幸?)。 –