PDOStatement::bindColumn
PDOStatement:: bindColumn—Bind 1 column to 1 PHP variable (PHP 5 > = 5.1.0, PECL pdo > = 0.1.0)
Description
Grammar
bool PDOStatement::bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )
Arranges a specific variable to bind to a given column in a query result set. Each call PDOStatement::fetch() Or PDOStatement::fetchAll() All variables bound to columns are updated.
Note: PDO column information is not always available before the statement is executed, and portable applications should be in PDOStatement::execute() This function (method) is then called.
However, in order to bind an LOB column as a stream when using the PgSQL driver, the application must call the PDOStatement::execute() This method is called before, otherwise the large object OID is returned as an integer.
Parameter
column
Column number (indexed from 1) or column name in the result set. If you use column names, note that the name should keep 1 case with the column name returned by the driver.
param
The name of the PHP variable that will be bound to the column
type
The data type of the parameter specified by the PDO:: PARAM_* constant.
maxlen
Pre-allocation prompt.
driverdata
Optional parameters of the drive.
Return value
Returns TRUE on success or FALSE on failure.
Instances
Bind the result set output to an PHP variable
Binding the columns in the result set to an PHP variable is an effective way to make the data contained in each row immediately available in your application. The following example demonstrates how PDO binds and retrieves columns with multiple options and defaults.
<?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);
?>
The above routine outputs:
apple red 150 banana yellow 175 kiwi green 75 orange orange 150 mango red 200 strawberry red 25
Summarize