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