PHP マニュアル
前のページ |  | 次のページ

# 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() への別名として残されていますが、 推奨されません。

前のページ | ホーム | 次のページ
oci_define_by_name | 上に戻る | oci_execute