2016-07-25 13 views
0

私の質問は結果を返さないという問題があります。エラーや警告は表示されませんが。クエリ自体は結果を返しますが、私は直接デシベルでそれを実行した場合:ociexecuteの結果はありません。エラーメッセージは表示されません

:-(PHP経由

select doc_id from k.doc_mmkt 
where doc_id = 19068694 

DOC_ID 
19068694 

ません結果:ここで

//Set up Connection 
$cnda = ocilogon($cnxnDabs["dbuser"],$cnxnDabs["dbpwd"],$cnxnDabs["dbname"]); 
if (!$cnda) { 
    $e = ocierror(); 
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); 
} 


//Get query and the result 
$query="select doc_id from k.doc_mmkt where doc_id = 19068694"; 
$stid = ociparse($cnda,$query); 
ocidefinebyname($stid,"doc_id",&$DOCID); 
ociexecute($stid); 
ocifetch($stid); 

は、DB上の結果であり、

アドバイスがありますか? 接続が正常に動作しているようです。たとえば、dbuserを操作すると、警告が表示されます。

+1

このコードではエラーハンドラは表示されません。エラー処理の簡単な例を次に示します。http://web.axelero.hu/lzsiga/oci.txt –

答えて

-1

$query="select doc_id from k.doc_mmkt where doc_id = 19068694";

$ doc_id = 19068694; $ query = "k.doc_mmktからdoc_idを選択するWHERE doc_id = '" $ doc_id。 "'";

+0

準備済みの文をダンプすることを推奨しないでください。彼らは素晴らしいツールですが、SQLインジェクションはあなたのサイトに何の役にも立ちません。 –

+0

それは引用符の問題のためかもしれません。 – fighter

0

エラーや警告が表示されません。

あなたのOracle関連のコードであっても接続エラーを超えてエラーメッセージを取得しようとしません。

$stid = ociparse($cnda,$query); 
ocidefinebyname($stid,"doc_id",&$DOCID); 
ociexecute($stid); 
ocifetch($stid); 

...ので、私はあなたのPHP環境がどちらかに設定されていないこと驚きませんエラーメッセージを表示します。そうするための最も簡単な方法は、ソースコードにこれをpreppendingさ:

error_reporting(-1); 
ini_set('display_errors', true); 

そして、あなたは、対応するマニュアルページでエラーをテストする方法については、使用例を見つけることができます。

注:ocilogonと他のエイリアスはしばらくお待ちください。oci_connect()に更新することをお約束します。

-1

あなたの返信ありがとうございます。解決方法は、ヘッダー名に大文字を使用することです。

//Set up Connection 
$cnda = ocilogon($cnxnDabs["dbuser"],$cnxnDabs["dbpwd"],$cnxnDabs["dbname"]); 
if (!$cnda) { 
    $e = ocierror(); 
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); 
} 


//Get query and the result 
$query="select doc_id from k.doc_mmkt where doc_id = 19068694"; 
$stid = ociparse($cnda,$query); 
ocidefinebyname($stid,"DOC_ID",&$DOCID); 
ociexecute($stid); 
ocifetch($stid); 

すべてがスムーズになりました。明らかに、Oracleは大文字^^を使用しています。

関連する問題