関数・クラス解説

oci_parse

version:PHP 5, PHP 7, PECL OCI8 >= 1.1.0 (公式)

実行のために Oracle の文をパースする

公式リファレンス

書式

oci_parse ( resource $connection , string $sql_text ) : resource

説明

connection を使って sql_text をパースし、ステートメント ID を返します。この ID は、oci_bind_by_name(), oci_execute() や他の関数で使用されます。

ステートメント ID を解放するには、 oci_free_statement() を使うか、あるいは 変数に NULL を代入します。

パラメータ

connection
oci_connect()、oci_pconnect() あるいは oci_new_connect() が返す Oracle 接続 ID。
sql_text
SQL あるいは PL/SQL ステートメント。 SQL の最後にセミコロン (";") をつけては いけません。一方、PL/SQL ステートメントの最後はセミコロン (";") を つけなければなりません。

返値

成功した場合にステートメントハンドル、あるいはエラー時に FALSE を返します。

注意

注意: この関数は sql_text を検証 しません。 sql_text が有効な SQL あるいは PL/SQL 文かどうかを検証する唯一の方法 - それは実行することです。

サンプル

例1 oci_parse() での SQL 文の例

$conn = oci_connect('hr', 'welcome', 'localhost/XE'); // パースします。SQL 文の最後にはセミコロンがないことに注意しましょう $stid = oci_parse($conn, 'SELECT * FROM employees'); oci_execute($stid); echo "\n"; while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {     echo "\n";     foreach ($row as $item) {         echo "    " . ($item !== null ? htmlentities($item, ENT_QUOTES) : " ") . "\n";     }     echo "\n"; } echo "\n";

例2 oci_parse() での PL/SQL の例

/*   この PHP プログラムを実行する前に、SQL*Plus や SQL Developer で   ストアドプロシージャを作っておきます   CREATE OR REPLACE PROCEDURE myproc(p1 IN NUMBER, p2 OUT NUMBER) AS   BEGIN       p2 := p1 * 2;   END; */ $conn = oci_connect('hr', 'welcome', 'localhost/XE'); if (!$conn) {     $e = oci_error();     trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } $p1 = 8; // PL/SQL プログラムをパースするには、文字列の最後にセミコロンが必要です $stid = oci_parse($conn, 'begin myproc(:p1, :p2); end;'); oci_bind_by_name($stid, ':p1', $p1); oci_bind_by_name($stid, ':p2', $p2, 40); oci_execute($stid); print "$p2\n";   // 16 と表示します oci_free_statement($stid); oci_close($conn);

参考

  • oci_execute() - 文を実行する
  • oci_free_statement() - 文やカーソルに関連付けられた全てのリソースを解放する
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール