oci_error
(PHP 5)
oci_error -- 最後に見つかったエラーを返す
説明
array
oci_error ( [resource source] )
ほとんどのエラーに対応するため、
パラメータは適当なリソースハンドルを指定可能です。
oci_connect()、
oci_new_connect()
あるいは oci_pconnect() での接続エラーの場合、
パラメータを渡しません。
もしエラーが見つからない場合、oci_error() は
FALSE を返します。
oci_error() はエラーを連想配列として返します。
この配列には、Oracle エラーコード code や
Oracle エラー文字列 message が含まれます。
PHP 4.3 以降:
エラーの場所と原因となった SQL テキストを示すため、
offset と sqltext
も返される配列に含まれます。
例 1. 接続エラー後、Oracle エラーメッセージを表示する
$conn = @oci_connect("scott", "tiger", "mydb"); if (!$conn) { $e = oci_error(); // oci_connect のエラーの場合、ハンドルを渡さない echo htmlentities($e['message']); }
|
|
例 2. パースエラー後、Oracle エラーメッセージを表示する
$stmt = @oci_parse($conn, "select ' from dual"); // クオートが間違っている if (!$stmt) { $e = oci_error($conn); // oci_parse errors のエラーの場合、接続ハンドルを渡す echo htmlentities($e['message']); }
|
|
例 3. 実行エラー後、
Oracle エラーメッセージと問題となった文を表示する
$r = oci_execute($stmt); if (!$r) { $e = oci_error($stmt); // oci_execute のエラーの場合、ステートメントハンドルを渡す echo htmlentities($e['message']); echo "<pre>"; echo htmlentities($e['sqltext']); printf("\n%".($e['offset']+1)."s", "^"); echo "</pre>"; }
|
|
注意:
PHP バージョン 5.0.0 以前では、代わりに
ocierror()
を使用しなければなりません。
まだこの名前を使用することができ、下位互換性のため
oci_error() への別名として残されていますが、
推奨されません。