PDOStatement::bindColumn

PHP PDO 參考手冊PHP PDO 參考手冊

PDOStatement::bindColumn — 綁定一列到一個 PHP 變數(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)


說明

語法

bool PDOStatement::bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )

安排一個特定的變數綁定到一個查詢結果集中給定的列。每次調用 PDOStatement::fetch() 或 PDOStatement::fetchAll() 都將更新所有綁定到列的變數。

注意:在語句執行前 PDO 有關列的資訊並非總是可用,可移植的應用應在 PDOStatement::execute() 之後 調用此函數(方法)。
但是,當使用 PgSQL 驅動 時,要想能綁定一個 LOB 列作為流,應用程式必須在調用 PDOStatement::execute() 之前 調用此方法,否則大對象 OID 作為一個整數返回。


參數

column
結果集中的列號(從1開始索引)或列名。如果使用列名,注意名稱應該與由驅動返回的列名大小寫保持一致。

param
將綁定到列的 PHP 變數名稱

type
通過 PDO::PARAM_* 常量指定的參數的數據類型。

maxlen
預分配提示。

driverdata
驅動的可選參數。


返回值

成功時返回 TRUE, 或者在失敗時返回 FALSE。


實例

把結果集輸出綁定到 PHP 變數

綁定結果集中的列到PHP變數是一種使每行包含的數據在應用程式中立即可用的有效方法。下麵的例子演示了 PDO 怎樣用多種選項和默認值綁定和檢索列。

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

    /*  通過列號綁定  */
    $stmt->bindColumn(1, $name);
    $stmt->bindColumn(2, $colour);

    /*  通過列名綁定  */
    $stmt->bindColumn('calories', $cals);

    while ($row = $stmt->fetch(PDO::FETCH_BOUND)) {
      $data = $name . "\t" . $colour . "\t" . $cals . "\n";
      print $data;
    }
  }
  catch (PDOException $e) {
    print $e->getMessage();
  }
}
readData($dbh);
?>

以上例程會輸出:

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

PHP PDO 參考手冊PHP PDO 參考手冊