Установить режим выборки данных

Назначение

Установка режима выборки данных для поискового SQL-оператора.

Синтаксические правила
 
bool PDOStatement::setFetchMode (int mode);
mode

Константа, соответствующая определенному режиму извлечения данных.

Константа Режим выборки данных
PDO::FETCH_LAZY Каждая строка выборки должна быть представлена в виде объекта, содержащего набор переменных, имена которых совпадают с именами столбцов результирующей выборки
PDO::FETCH_ASSOC Каждая строка выборки должна быть представлена в виде массива, индексируемого по именам столбцов результирующей выборки. Если строка ответа содержит дубликаты столбцов, возвращается только одно значение для этого имени столбца
PDO::FETCH_NAMED Каждая строка выборки должна быть представлена в виде массива, индексируемого по именам столбцов результирующей выборки. Если строка ответа содержит дубликаты столбцов, возвращается массив их значений
PDO::FETCH_NUM Каждая строка выборки должна быть представлена в виде массива, индексируемого по номерам столбцов результирующей выборки. Нумерация столбцов начинается с 0
PDO::FETCH_BOTH Каждая строка выборки должна быть представлена в виде массива, индексируемого по имени и номеру столбца результирующей выборки. Нумерация столбцов начинается с 0
PDO::FETCH_OBJ Каждая строка выборки должна быть представлена в виде объекта, содержащего свойства, имена которых соответствуют именам столбцов результирующей выборки
PDO::FETCH_BOUND Значения столбцов результирующей выборки должны присваиваться переменным, привязанным к оператору с помощью функции PDOStatement::bindParam() or PDOStatement::bindColumn(). Данный режим выборки должен всегда возвращать true
PDO::FETCH_COLUMN  Должно возвращаться только одно значение указанного столбца результирующей выборки
PDO::FETCH_CLASS  Должен возвращаться новый экземпляр заданного класса, отображающий столбцы в именованные свойства этого класса
PDO::FETCH_INTO  Должен возвращаться существующий обновленный экземпляр заданного класса, отображающий столбцы в именованные свойства этого класса
PDO::FETCH_FUNC  Каждая строка выборки должна передаваться на обработку пользовательской функции
PDO::FETCH_GROUP  Должен возвращаться ассоциированный массив, содержащий значения заданной группы столбцов результирующей выборки. Для задания группы столбцов должна использоваться битовая маска флага PDO::FETCH_COLUMN совместно с флагом данного режима
PDO::FETCH_UNIQUE  Должен возвращаться ассоциированный массив, содержащий уникальные значения заданной группы столбцов результирующей выборки. Для задания группы столбцов должна использоваться битовая маска флага PDO::FETCH_COLUMN совместно с флагом данного режима
PDO::FETCH_CLASSTYPE  Имя класса определяется по значению первого столбца результирующей выборки. Используется совместно с режимом PDO::FETCH_CLASS, т.е. PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE
Возвращаемые значения
  • 1 – нормальное завершение;

  • false – ошибка установки режима выборки.

Пример
< ?php
…
$sql = 'SELECT make, model, color FROM auto fetch first 3';
try {
  $stmt = $dbh- >query($sql);
  $result = $stmt- >setFetchMode(PDO::FETCH_NUM);
  while ($row = $stmt- >fetch()) {
    print $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
  }
}
catch (PDOException $e) {
  print $e- >getMessage();
}
? >

Результат выполнения данного примера:

FORD                MERCURY COMET GT V8 BLACK
ALPINE              A-310               WHITE
AMERICAN MOTORS     MATADOR STATION     BROWN