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(
    string|int $column,
    mixed &$var,
    int $type = PDO::PARAM_STR,
    int $maxLength = 0,
    mixed $driverOptions = null
): bool

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