查詢

ocibindbyname()函式—用法及示例

「 繫結一個 PHP 變數到一個命名的佔位符,用於在一個 SQL 語句中執行預處理 」


函式名稱:ocibindbyname()

適用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8

函式描述:該函式用於繫結一個 PHP 變數到一個命名的佔位符,用於在一個 SQL 語句中執行預處理。

語法:bool ocibindbyname ( resource $stmt , string $column_name , mixed &$variable [, int $maxlength = -1 [, int $type = SQLT_CHR ]] )

引數:

  • $stmt:一個有效的 OCI 語句資源(由函式 oci_parse() 或 oci_execute() 返回)。
  • $column_name:要繫結的佔位符的名稱。
  • &$variable:要繫結的 PHP 變數。注意,該變數必須是一個引用,以便在執行預處理時可以將繫結的值傳遞給變數。
  • $maxlength(可選):要繫結的變數的最大長度。預設值為-1,表示沒有最大長度限制。
  • $type(可選):要繫結的變數的型別。預設值為 SQLT_CHR,表示字串型別。

返回值:成功繫結返回 TRUE,失敗返回 FALSE。

示例:

// 建立一個 OCI 語句資源
$conn = oci_connect('username', 'password', 'localhost/XE');
$stmt = oci_parse($conn, 'SELECT * FROM employees WHERE department_id = :dept_id');

// 繫結一個 PHP 變數到命名佔位符
$dept_id = 10;
ocibindbyname($stmt, ':dept_id', $dept_id);

// 執行預處理語句
oci_execute($stmt);

// 獲取結果
while ($row = oci_fetch_array($stmt)) {
    echo $row['EMPLOYEE_NAME'] . "\n";
}

// 釋放資源
oci_free_statement($stmt);
oci_close($conn);

在上述示例中,我們首先使用oci_connect()函式建立了與 Oracle 資料庫的連線。然後,使用oci_parse()函式建立了一個 OCI 語句資源,該語句用於查詢具有特定部門 ID 的員工資訊。接下來,我們使用ocibindbyname()函式將 PHP 變數$dept_id繫結到命名佔位符:dept_id,以便在執行預處理時將繫結的值傳遞給變數。最後,透過oci_execute()函式執行預處理語句,並使用oci_fetch_array()函式獲取結果集中的資料。最後,我們使用oci_free_statement()函式釋放語句資源,並使用oci_close()函式關閉資料庫連線。

補充糾錯
上一個函式: ob_end_flush()函式
下一個函式: OCICollection::trim()函式
熱門PHP函式
分享連結