PHP
数据库 | Database

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 →