ocibindbyname() は、PHP 変数
variable
を Oracle プレースホルダー
ph_name
にバインドします。実行時に入力用、
出力用に使用されるによらず、必要な記憶領域が確保されます。
statement
OCI ステートメント
ph_name
プレースホルダー
variable
PHP 変数
maxlength
バインド時の最大長。-1 に設定した場合、
variable
の現在の長さを最大長として設定する。
type
抽象データ型 (LOB/ROWID/BFILE) をバインドする必要がある場合、まず
oci_new_descriptor()
関数を使用してこれを確保する必要がある。
length
は抽象データ型用には
使用されず、-1 を設定する必要がある。
type
パラメータは、
使用されるディスクリプタをOracle に伝える。
指定可能な型については以下を参照のこと。
SQLT_FILE - BFILE 用
SQLT_CFILE - CFILE 用
SQLT_CLOB - CLOB 用
SQLT_BLOB - BLOB 用
SQLT_RDD - ROWID 用
SQLT_NTY - 名前付けされたデータ型用
SQLT_INT - integer 用
SQLT_CHR - VARCHAR 用
SQLT_BIN - RAW カラム用
SQLT_LNG - LONG カラム用
SQLT_LBI - LONG RAW カラム用
SQLT_RSET - カーソル用。 oci_new_cursor() により、前もって生成されたもの。
この関数は余分な空白を除去する事を忘れないでください。 次の例を見てください。
例 2. oci_bind_by_name() の例
|
例 3. oci_bind_by_name() の例
|
警告 |
magic_quotes_gpc や addslashes() と oci_bind_by_name() を同時に使用しないでください。 これは、引用符を追加する必要がないためで、 また、magic quote により付加された引用符は、 oci_bind_by_name() が magic quote によ り付加された引用符と意図的に付加されたものを区別できないため、 そのままデータベースに書き込まれるためです。 |
注意: PHP バージョン 5.0.0 以前では、代わりに ocibindbyname() を使用しなければなりません。 まだこの名前を使用することができ、下位互換性のため oci_bind_by_name() への別名として残されていますが、 推奨されません。