2016-10-26 10 views
1

こんにちは私は単純なSQL文を実行してデータを取り出し、OCI_FETCH_ARRAY()を使って表示します。 PHPはerror_logにエラーを記録しません。エラーメッセージも表示しませんが、空白のページだけを表示します。OCI8 OCI_FECTH_ARRAY戻り値なしエラーなし

表の定義は以下の通りです:

以下

はSQLであると私は、関連するデータを取得するSQLの開発者で実行することができます。以下OCI_PARSEとOCI_EXECUTE機能を実行しながら、取り扱い

$sql="SQL Here"; 

エラー:

$stid = oci_parse($conn,$sql); 

$error_msg_conn= oci_parse($conn,$sql); 

if (!$error_msg_conn) { 
    $e = oci_error($conn); 
    echo htmlentities($e['message']); 
} 

$error_msg_stmt = oci_execute($stid); 

if (!$error_msg_stmt) { 
    $e = oci_error($stid); 
    echo htmlentities($e['message']); 
} 

以下の結果セットのレコードを表示するコード:

while (($row = oci_fetch_array($stid,OCI_RETURN_NULLS+OCI_BOTH))==TRUE) { 

       echo "<td>".$row[0]."</td>"; 
       echo "<td>".$row[1]."</td>"; 
       echo "<td>".$row[2]."</td>"; 
       echo "<td>".$row[3]."</td>"; 
       echo "<td>".$row[4]."</td>"; 
       echo "<td>".$row[5]."</td>"; 
       echo "<td>".$row[6]."</td>"; 
       echo "<td>".$row[7]."</td>"; 
       echo "<td>".$row[8]."</td>"; 
       echo "<td>".$row[9]."</td>"; 
       echo "<td>".$row[10]."</td>"; 
       echo "<td>".$row[11]."</td>"; 
       echo "<td>".$row[12]."</td>\n"; 
       echo "</tr>\n"; 
} 
echo "</table>\n"; 

oci_free_statement($stid); 
oci_close($conn); 

?> 

PHPの出力に何も表示されない理由は何ですか? error_logにもエラーはありませんか?

ありがとうございます。もし上記のコメントで

+0

出力がまったく表示されますか? – bassxzero

+0

oci_fetch_array()ループの外側にあるhtmlヘッダーだけが表示されています。他に何もない。何もエラーはありません。 –

+0

ソースコードに「

」というタグがありますか? – bassxzero

答えて

1

は、where句のようにdoesntの

を言いました。 PHPはwhere節を使わずにデータを取得します。なぜOCI8が「WHERE TRADE_DATE = TO_CHAR(SYSDATE、 'DD-MON-YY')」の問題を引き起こすのか?

もthatsのあなたのTRADE_DATE列がないVARCHAR

desc IRINS_COMPOSITE_INSTRUMENTS 
Name    Null  Type   
------------------- -------- ------------- 
... 
TRADE_DATE     DATE 

DATEはそうTO_CHAR(SYSDATE, 'DD-MON-YY')を行うと、あなたを想定し

を設定あなたの現在のNLS_DATE_FORMATを使用してDATEに変換された文字列を作成しているためSYSDATEの時間コンポーネントを無視しようとしています。

WHERE TRADE_DATE=TRUNC(SYSDATE) 

これを修正すると仮定すると、OCIまたはOCI_FETCH_ARRAY()には何も関係ありません。

+0

私にそれを打つlol – bassxzero

+0

あなたの解決策を@ShoeLaceしようとするが、私がどこで行うのか \t \t TRADE_DATE = TO_CHAR(CURRENT_DATE)それはうまく動作する。 –

+1

それは動作するかもしれませんが、その予測不可能な日付と日付を比較します(そして日付はcharではありません)。 – ShoeLace

関連する問題