在 SELECT 中使用 PHP 變數作為定義的步驟

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 $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() 的別名。不過其已被廢棄,不推薦使用。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *