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() 绑定 PHP 到获取的 SQL 列。 需要注意的是,Oracle 使用大写字母的列名,而在你的 select 中, 你一般使用小写字母。 ocidefinebyname() 期望 column_name 是大写字母。 如果你在你的 select 语句中定义一个不存在的变量,将没有错误被给出。

如果你需要定义一个抽象数据类型(LOB/ROWID/BFILE), 你首先需要使用 ocinewdescriptor() 去分配。 参见 ocibindbyname() 函数。

例子 1. ocidefinebyname()

<?php
/* OCIDefineByName example - thies at thieso dot net (980219) */

$conn = OCILogon("scott", "tiger");

$stmt = OCIParse($conn, "select empno, ename from emp");

/* the define MUST be done BEFORE 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);
?>