ocidefinebyname
(PHP 3 >= 3.0.7, PHP 4, PHP 5)
ocidefinebyname -- SELECT 実行中、定義用の PHP 変数を使用する
説明
bool
ocidefinebyname ( resource stmt, string column_name, mixed &variable [, int type] )
ocidefinebyname() は、SQL カラムを
ユーザー定義の PHP 変数に取得します。
Oracle は、全ての大文字のカラム名を使用しますが、
select の中で小文字も書くことが可能であることに注意してください。
ocidefinebyname() は、
column_name が大文字であることを仮定します。
select 文にない変数を定義する場合は、エラーは発生しないでしょう!
抽象 Datatype (LOB/ROWID/BFILE) を定義する必要がある場合、
まず ocinewdescriptor() 関数を用いてその
領域を確保する必要があります。
ocibindbyname() 関数も参照ください。
例 1. ocidefinebyname() の例
<?php /* OCIDefineByPos の例 - thies at thieso dot net (980219) */
$conn = OCILogon("scott", "tiger");
$stmt = OCIParse($conn, "select empno, ename from emp");
/* 定義は ociexecute の前に行われなければなりません! */
OCIDefineByName($stmt, "EMPNO", $empno); OCIDefineByName($stmt, "ENAME", $ename);
OCIExecute($stmt);
while (OCIFetch($stmt)) { echo "empno:" . $empno . "\n"; echo "ename:" . $ename . "\n"; }
OCIFreeStatement($stmt); OCILogoff($conn); ?>
|
|
注意:
この関数は PHP >= 5.0.0 以降 oci_define_by_name()
に改名されました。
下位互換性のため、 ocidefinebyname()
も使用することができますが、推奨されません。