PDOStatement::bindColumn
Справочное руководство по PHP PDO
PDOStatement::bindColumn — Привязка столбца к переменной PHP (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
Описание
Синтаксис
bool PDOStatement::bindColumn ( mixed $column , mixed &$param [, int $type [, int $maxlen [, mixed $driverdata ]]] )
Привязывает определённую переменную к заданному столбцу в результирующем наборе запроса. Каждый вызов PDOStatement::fetch() или PDOStatement::fetchAll() обновляет все переменные, привязанные к столбцам.
Примечание:Не вся информация о столбцах всегда доступна до выполнения оператора. Портативные приложения должны вызывать эту функцию (метод) после PDOStatement::execute().
Однако при использовании драйвера PgSQL, чтобы иметь возможность привязать столбец LOB как поток, приложение должно вызвать этот метод перед вызовом PDOStatement::execute(), иначе идентификатор OID большого объекта возвращается как целое число.
Parameters
column
Номер столбца (с индексацией от 1) или имя столбца в результирующем наборе. Если используется имя столбца, обратите внимание, что имя должно совпадать по регистру с именем столбца, возвращаемым драйвером.
param
Имя переменной PHP, которую нужно привязать к столбцу
type
Тип данных параметра, задаваемый константами PDO::PARAM_*.
maxlen
Подсказка для предварительного выделения.
driverdata
Необязательный параметр, зависящий от драйвера.
Возвращаемые значения
Возвращает TRUE при успехе или FALSE при неудаче.
Примеры
Привязка выходных данных результирующего набора к переменным PHP
Привязка столбцов результирующего набора к переменным PHP — эффективный способ сделать данные, содержащиеся в каждой строке, сразу доступными приложению. В следующем примере показано, как PDO привязывает и извлекает столбцы с различными параметрами и значениями по умолчанию.
<?php
function readData($dbh) {
$sql = 'SELECT name, colour, calories FROM fruit';
try {
$stmt = $dbh->prepare($sql);
$stmt->execute();
/* 通过列号绑定 */
$stmt->bindColumn(1, $name);
$stmt->bindColumn(2, $colour);
/* 通过列名绑定 */
$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
Другие расширения