oci_define_by_name
(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_define_by_name — 在 SELECT 中使用 PHP 變數作為定義的步驟
說明
oci_define_by_name(
resource
string
mixed
int
): bool
resource
$statement
,string
$column_name
,mixed
&$variable
,int
$type
= ?): bool
oci_define_by_name() 繫結 PHP 到獲取的
SQL 列。 需要注意的是,Oracle 使用大寫字母的列名,而使用者在
select 中也可以用小寫字母。oci_define_by_name()
期望 column_name
是大寫字母。如果定義一個變數不存在於
select 語句中,將沒有錯誤被給出。
如果需要定義一個抽像數據型別(LOB/ROWID/BFILE),必須先用 oci_new_descriptor() 分配空間。參見 oci_bind_by_name() 函式。
示例 #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() 替代本函式。該函式名仍然可用,為向下相容作為 oci_define_by_name() 的別名。不過其已被廢棄,不推薦使用。