(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDOStatement::bindColumn — 綁定一列到一個(gè) PHP 變量
$column
,&$param
,$type
= ?,$maxlen
= ?,$driverdata
= ?安排一個(gè)特定的變量綁定到一個(gè)查詢(xún)結果集中給定的列。每次調用 PDOStatement::fetch() 或 PDOStatement::fetchAll() 都將更新所有綁定到列的變量。
注意:
在語(yǔ)句執行前 PDO 有關(guān)列的信息并非總是可用,可移植的應用應在 PDOStatement::execute() 之后 調用此函數(方法)。
但是,當使用 PgSQL 驅動(dòng) 時(shí),要想能綁定一個(gè) LOB 列作為流,應用程序必須在調用 PDOStatement::execute() 之前 調用此方法,否則大對象 OID 作為一個(gè)整數返回。
column
結果集中的列號(從1開(kāi)始索引)或列名。如果使用列名,注意名稱(chēng)應該與由驅動(dòng)返回的列名大小寫(xiě)保持一致。
param
將綁定到列的 PHP 變量名稱(chēng)
type
通過(guò) PDO::PARAM_* 常量指定的參數的數據類(lèi)型。
maxlen
預分配提示。
driverdata
驅動(dòng)的可選參數。
成功時(shí)返回 true
, 或者在失敗時(shí)返回 false
。
示例 #1 把結果集輸出綁定到 PHP 變量
綁定結果集中的列到PHP變量是一種使每行包含的數據在應用程序中立即可用的有效方法。下面的例子演示了 PDO 怎樣用多種選項和缺省值綁定和檢索列。
<?php
function readData($dbh) {
$sql = 'SELECT name, colour, calories FROM fruit';
try {
$stmt = $dbh->prepare($sql);
$stmt->execute();
/* 通過(guò)列號綁定 */
$stmt->bindColumn(1, $name);
$stmt->bindColumn(2, $colour);
/* 通過(guò)列名綁定 */
$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);
?>
以上例程會(huì )輸出:
apple red 150 banana yellow 175 kiwi green 75 orange orange 150 mango red 200 strawberry red 25