関数・クラス解説

oci_bind_array_by_name

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

PHP の配列を Oracle PL/SQL の配列に名前でバインドする

公式リファレンス

書式

oci_bind_array_by_name ( resource $statement , string $name , array &$var_array , int $max_table_length [, int $max_item_length = -1 [, int $type = SQLT_AFC ]] ) : bool

説明

oci_bind_array_by_name() は、PHP の配列 var_array を Oracle のプレースホルダ name にバインドします。 このプレースホルダは Oracle PL/SQL の配列を指しています。 入力変数あるいは出力変数のどちらとして使用されるのかは、 実行時に決められます。

パラメータ

statement
有効な OCI ステートメント識別子
name
Oracle のプレースホルダ
var_array
配列
max_table_length
入力配列および結果の配列の両方の最大長を設定する
max_item_length
配列要素の最大長を設定する。もし指定されない、もしくは -1 が指定された場合、oci_bind_array_by_name() は入力の配列の中で最も長い要素を探し、その長さを最大長とする。
type
PL/SQL 配列の項目の型を指定するために利用される。 指定可能な型については以下を参照のこと。
  • SQLT_NUM - NUMBER の配列
  • SQLT_INT - INTEGER の配列 (注意: INTEGER は、実際には NUMBER(38) のシノニムだが、 SQLT_NUM ではこの場合うまく動作しない)。
  • SQLT_FLT - FLOAT の配列
  • SQLT_AFC - CHAR の配列
  • SQLT_CHR - VARCHAR2 の配列
  • SQLT_VCS - VARCHAR の配列
  • SQLT_AVC - CHARZ の配列
  • SQLT_STR - STRING の配列
  • SQLT_LVC - LONG VARCHAR の配列
  • SQLT_ODT - DATE の配列

返値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

サンプル

例1 oci_bind_array_by_name() の例

$conn = oci_connect("hr", "hrpwd", "localhost/XE"); if (!$conn) {     $m = oci_error();     trigger_error(htmlentities($m['message']), E_USER_ERROR); } $create = "CREATE TABLE bind_example(name VARCHAR(20))"; $stid = oci_parse($conn, $create); oci_execute($stid); $create_pkg = " CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS   TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER;   PROCEDURE iobind(c1 IN OUT ARRTYPE); END ARRAYBINDPKG1;"; $stid = oci_parse($conn, $create_pkg); oci_execute($stid); $create_pkg_body = " CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS   CURSOR CUR IS SELECT name FROM bind_example;   PROCEDURE iobind(c1 IN OUT ARRTYPE) IS     BEGIN     -- Bulk Insert     FORALL i IN INDICES OF c1       INSERT INTO bind_example VALUES (c1(i));     -- Fetch and reverse     IF NOT CUR%ISOPEN THEN       OPEN CUR;     END IF;     FOR i IN REVERSE 1..5 LOOP       FETCH CUR INTO c1(i);       IF CUR%NOTFOUND THEN         CLOSE CUR;         EXIT;       END IF;     END LOOP;   END iobind; END ARRAYBINDPKG1;"; $stid = oci_parse($conn, $create_pkg_body); oci_execute($stid); $stid = oci_parse($conn, "BEGIN arraybindpkg1.iobind(:c1); END;"); $array = array("one", "two", "three", "four", "five"); oci_bind_array_by_name($stid, ":c1", $array, 5, -1, SQLT_CHR); oci_execute($stid); var_dump($array);

ワード検索


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

関数名アルファベット別

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用の拡張モジュール