Установить режим выборки данных
Назначение
Установка режима выборки данных для поискового 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