2013-07-01 2 views
0

PHP에서 원격 오라클 데이터베이스에 처음 연결하려고합니다. 그러나 내가 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

실제로 내가 갑자기 그 일을 시작했을 때, 다른 코멘트를 무시하고, Rob W 당신은 ​​나의 가장 좋아하는 사람입니다. – Quinma

+0

쿨! 세미콜론은 준비된 문장에는 사용되지만 쿼리에는 사용되지 않습니다. 나는 문서가 이것의 중요성을 논의한다고 생각한다. 오라클은 매우 구체적입니다 (불행히도?). –