(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_define_by_name — 在 SELECT 中使用 PHP 變量作為定義的步驟
$statement
,$column_name
,&$variable
,$type
= ?
oci_define_by_name() 綁定 PHP 到獲取的
SQL 列。 需要注意的是,Oracle 使用大寫字母的列名,而用戶在
select 中也可以用小寫字母。oci_define_by_name()
期望 column_name
是大寫字母。如果定義一個(gè)變量不存在于
select 語(yǔ)句中,將沒(méi)有錯(cuò)誤被給出。
如果需要定義一個(gè)抽象數(shù)據(jù)類型(LOB/ROWID/BFILE),必須先用 oci_new_descriptor() 分配空間。參見(jiàn) oci_bind_by_name() 函數(shù)。
示例 #1 oci_define_by_name() 例子
<?php
/* oci_define_by_name example - thies at thieso dot net (980219) */
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT empno, ename FROM emp");
/* the define MUST be done BEFORE oci_execute! */
oci_define_by_name($stmt, "EMPNO", $empno);
oci_define_by_name($stmt, "ENAME", $ename);
oci_execute($stmt);
while (oci_fetch($stmt)) {
echo "empno:" . $empno . "\n";
echo "ename:" . $ename . "\n";
}
oci_free_statement($stmt);
oci_close($conn);
?>
注意:
在 PHP 5.0.0 之前的版本必須使用 ocidefinebyname() 替代本函數(shù)。該函數(shù)名仍然可用,為向下兼容作為 oci_define_by_name() 的別名。不過(guò)其已被廢棄,不推薦使用。