PHP Conference Japan 2024

PDOStatement::bindColumn

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDOStatement::bindColumn 將欄位繫結至 PHP 變數

說明

public PDOStatement::bindColumn(
    字串|整數 $column,
    混合 &$var,
    整數 $type = PDO::PARAM_STR,
    整數 $maxLength = 0,
    混合 $driverOptions = null
): 布林值

PDOStatement::bindColumn() 會安排將特定變數綁定到查詢結果集中的指定欄位。每次呼叫 PDOStatement::fetch()PDOStatement::fetchAll() 都會更新所有綁定到欄位的變數。

注意事項:

由於 PDO 在執行敘述之前並非總是能取得欄位資訊,因此可攜式應用程式應在呼叫 PDOStatement::execute() 之後 才呼叫此函式。

然而,為了能在使用 PgSQL 驅動程式 時將 LOB 欄位綁定為串流,應用程式應在呼叫 PDOStatement::execute() 之前 呼叫此方法,否則大型物件 OID 將會以整數形式返回。

參數

column

結果集中欄位的編號(從 1 開始)或欄位名稱。如果使用欄位名稱,請注意名稱應與驅動程式返回的欄位名稱大小寫相符。

var

要將欄位綁定到的 PHP 變數名稱。

type

參數的資料類型,由 PDO::PARAM_* 常數 指定。

maxLength

預先配置的提示。

driverOptions

驅動程式的選用參數。

傳回值

成功時傳回 true,失敗時傳回 false

錯誤/例外

如果屬性 PDO::ATTR_ERRMODE 設定為 PDO::ERRMODE_WARNING,則會發出層級為 E_WARNING 的錯誤。

如果屬性 PDO::ATTR_ERRMODE 設定為 PDO::ERRMODE_EXCEPTION,則會擲出 PDOException 例外。

範例

範例 #1 將結果集輸出綁定到 PHP 變數

將結果集中的欄位綁定到 PHP 變數是讓應用程式立即取得每一列資料的有效方法。以下範例示範 PDO 如何讓您使用各種選項和智慧預設值來綁定和擷取欄位。

<?php
$stmt
= $dbh->prepare('SELECT name, colour, calories FROM fruit');
$stmt->execute();

/* 透過欄位編號綁定 */
$stmt->bindColumn(1, $name);
$stmt->bindColumn(2, $colour);

/* 透過欄位名稱綁定 */
$stmt->bindColumn('calories', $cals);

while (
$stmt->fetch(PDO::FETCH_BOUND)) {
print
$name . "\t" . $colour . "\t" . $cals . "\n";
}

以上範例將輸出類似以下的內容:

apple   red     150
banana  yellow  175
kiwi    green   75
orange  orange  150
mango   red     200
strawberry      red     25

另請參閱

新增註釋

使用者貢獻的註釋

此頁面沒有使用者貢獻的註釋。
To Top