Связывает столбец с PHP переменной


(PHP 5 >= 5.1.0, 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 будет иметь тип integer.

Список параметров

column

Номер столбца (начиная с 1) или его имя в результирующем наборе запроса. Используя имя столбца, будьте внимательны, имя должно быть в том же регистре, в каком оно выдано драйвером.

param

Имя PHP переменной, к которой требуется привязать столбец.

type

Тип данных параметра, заданный одной из констант PDO::PARAM_*.

maxlen

Подсказка для предварительного выделения памяти под переменную.

driverdata

Дополнительные параметры для драйвера.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Связывание результирующего набора с 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 

Смотрите также

  • PDOStatement::execute() - Запускает подготовленный запрос на выполнение
  • PDOStatement::fetch() - Извлечение следующей строки из результирующего набора
  • PDOStatement::fetchAll() - Возвращает массив, содержащий все строки результирующего набора
  • PDOStatement::fetchColumn() - Возвращает данные одного столбца следующей строки результирующего набора