PDOStatement::bindColumn

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

PDOStatement::bindColumn 綁定一列到一個 PHP 變量

說明

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

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

注意:

在語句執(zhí)行前 PDO 有關(guān)列的信息并非總是可用,可移植的應(yīng)用應(yīng)在 PDOStatement::execute() 之后 調(diào)用此函數(shù)(方法)。

但是,當(dāng)使用 PgSQL 驅(qū)動 時,要想能綁定一個 LOB 列作為流,應(yīng)用程序必須在調(diào)用 PDOStatement::execute() 之前 調(diào)用此方法,否則大對象 OID 作為一個整數(shù)返回。

參數(shù)

column

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

param

將綁定到列的 PHP 變量名稱

type

通過 PDO::PARAM_* 常量指定的參數(shù)的數(shù)據(jù)類型。

maxlen

預(yù)分配提示。

driverdata

驅(qū)動的可選參數(shù)。

返回值

成功時返回 true, 或者在失敗時返回 false。

范例

示例 #1 把結(jié)果集輸出綁定到 PHP 變量

綁定結(jié)果集中的列到PHP變量是一種使每行包含的數(shù)據(jù)在應(yīng)用程序中立即可用的有效方法。下面的例子演示了 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

參見