そのまんま!

ora_bind

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

ora_bind -- PHP 変数を Oracle パラメータにバインドする

説明

bool ora_bind ( resource cursor, string phpvar, string sqlparam, int length [, int type] )

指定した名前の PHP 変数を SQL パラメータとバインドします。

ora_bind()ora_parse() の後でかつ ora_exec() の前に呼び出されなくてはなりません。 入力値はバインドされた PHP 変数に代入することにより指定することが可能です。 ora_exec() のコールによりバインド先の SQL パラメータに値が出力される場合には、バインドされた PHP 変数に出力値が代入されます。

パラメータ

cursor

ora_open() でオープンした Oracle カーソル。

phpvar

バインドする PHP 変数。

sqlparam

SQL パラメータ。:name 形式でなければなりません。

length

type

パラメータの型を指定します。デフォルトは ORA_BIND_INOUT です。とりうる値を以下にまとめます。

定数
ORA_BIND_INOUT0
ORA_BIND_IN1
ORA_BIND_OUT2

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。 エラーについての詳細は、ora_error() および ora_errorcode() 関数を用いて調べられます。

変更履歴

バージョン説明
5.1.0

oracle 拡張モジュールは非推奨です。かわりに oci8 を使用してください。

3.0.1 type 用の定数が追加されました。 以前のバージョンでは、数値を指定する必要がありました。

例 1. ora_bind() の例

<?php
  ora_parse
($curs, "declare tmp INTEGER; begin tmp := :in; :out := tmp; :x := 7.77; end;");
  
ora_bind($curs, "result", ":x", $len, 2);
  
ora_bind($curs, "input", ":in", 5, 1);
  
ora_bind($curs, "output", ":out", 5, 2);
  
$input = 765;
  
ora_exec($curs);
  echo
"Result: $result<br />Out: $output<br />In: $input";
?>

注意

廃止予定の oracle のかわりに oci8 拡張モジュールを用いる場合は、 以下を使用してください。

oci_bind_by_name()
oci_bind_array_by_name()