PDOStatement::bindColumn — Привязывает столбец к переменной PHP (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
bool PDOStatement::bindColumn (смешанный $column, смешанный &$param [, int $type [, int $maxlen [, смешанный $driverdata]]])
Организует привязку определенной переменной к заданному столбцу в наборе результатов запроса. Каждый вызов PDOStatement::fetch() или PDOStatement::fetchAll() обновит все переменные, привязанные к столбцу.
Примечание. Информация PDO о столбцах не всегда доступна до выполнения оператора. Портативные приложения должны вызывать эту функцию (метод) после PDOStatement::execute(). Однако при использовании драйвера PgSQL, чтобы иметь возможность связать столбец LOB как поток, приложение должно вызвать этот метод перед вызовом PDOStatement::execute(), в противном случае OID большого объекта возвращается как целое число.
Номер столбца (индексируется с 1) или имя столбца в наборе результатов столбца . При использовании имен столбцов обратите внимание, что имена должны соответствовать регистру имен столбцов, возвращаемых драйвером.
param Имя переменной PHP, которая будет привязана к столбцу.
typeТип данных параметра, заданного константами PDO::PARAM_*.
Подсказка по предварительному выделению maxlen .
Необязательный параметр драйвера driverdata .
Возвращает TRUE в случае успеха или FALSE в случае неудачи.
Связывание столбцов результирующего набора с переменными PHP — это эффективный способ сделать данные, содержащиеся в каждой строке, немедленно доступными в вашем приложении. В следующем примере показано, как PDO связывает и извлекает столбцы с различными параметрами и значениями по умолчанию.
<?phpfunction readData($dbh) { $sql = 'ВЫБРАТЬ имя, цвет и калории ИЗ фруктов'; try { $stmt = $dbh->prepare($sql); $stmt->execute(); Привязка числа*/ $stmt->bindColumn(1, $name); $stmt->bindColumn(2, $color); Привязка по имени столбца*/ $stmt->bindColumn('калории', $cals); while ($row = $stmt->fetch(PDO::FETCH_BOUND)) { $data = $name "t" $. цвет . "t" . $cals . "n"; печать $data } } catch (PDOException $e) {print $e->getMessage(); }}readData($dbh);?>
Приведенная выше процедура выведет:
Яблочно-красный 150Желтый банан 175Зеленый киви 75Оранжево-оранжевый 150Красный манго 200Красный клубники 25