PDOStatement::bindColumn
PDOStatement::bindColumn
(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)
PDOStatement :: bindColumn - 将列绑定到PHP变量
描述
public bool PDOStatement::bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )
PDOStatement :: bindColumn()
安排将特定变量绑定到查询结果集中的给定列。每次调用PDOStatement :: fetch()或PDOStatement :: fetchAll()都会更新绑定到列的所有变量。
注意
:由于有关列的信息在
执行语句前并不总是可用于PDO,所以可移植应用程序应在
PDOStatement :: execute()后
调用此函数。但是,为了能够在
使用PgSQL驱动程序
时将LOB列作为流绑定,应用程序应在
调用PDOStatement :: execute()之前
调用此方法,否则对象OID将作为整数返回。
参数
column
结果集里列的编号(1索引)或列的名称。如果使用列名称,请注意该名称应与驱动程序返回的列大小写匹配。
param
将绑定该列的PHP变量的名称。
type
参数的数据类型,由PDO :: PARAM_ *
常量指定。
maxlen
预先分配的提示。
driverdata
驱动程序的可选参数。
返回值
成功时返回TRUE
或失败时返回FALSE
。
示例
Example#1将结果集输出绑定到PHP变量
将结果集里的列绑定到PHP变量是使每行中包含的数据立即可供您的应用程序使用的有效方法。以下示例演示PDO如何允许您使用各种选项和智能默认值来绑定、检索列。
<?php
function readData($dbh) {
$sql = 'SELECT name, colour, calories FROM fruit';
try {
$stmt = $dbh->prepare($sql
$stmt->execute(
/* Bind by column number */
$stmt->bindColumn(1, $name
$stmt->bindColumn(2, $colour
/* Bind by column name */
$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
扩展内容
- PDOStatement :: execute() - 执行准备好的语句
- PDOStatement :: fetch() - 从结果集中获取下一行
- PDOStatement :: fetchAll() - 返回一个包含所有结果集行的数组
- PDOStatement :: fetchColumn() - 返回结果集的下一行中的单个列
← PDOStatement
PDOStatement::bindParam →