Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.

Внимание

PDO использует константы класса с PHP 5.1. До этого использовались глобальные константы в форме PDO_PARAM_BOOL.

PDO::PARAM_BOOL (integer)
Представляет логический тип данных.
PDO::PARAM_NULL (integer)
Представляет тип данных SQL NULL.
PDO::PARAM_INT (integer)
Представляет тип данных SQL INTEGER.
PDO::PARAM_STR (integer)
Представляет типы данных SQL CHAR, VARCHAR и другие строковые типы.
PDO::PARAM_STR_NATL (integer)
Флаг для обозначения, что строки используют национальный набор символов. Константа доступна с версии PHP 7.2.0
PDO::PARAM_STR_CHAR (integer)
Флаг для обозначения, что строки используют обычный набор символов. Константа доступна с версии PHP 7.2.0
PDO::PARAM_LOB (integer)
Представляет тип данных больших объектов SQL.
PDO::PARAM_STMT (integer)
Представляет тип recordset. На данных момент не поддерживается драйверами.
PDO::PARAM_INPUT_OUTPUT (integer)
Указывает, что параметр является параметром INOUT для хранимой процедуры. Для задания типа данных необходимо применить побитовое ИЛИ этой константы с константой типа PDO::PARAM_*.
PDO::FETCH_LAZY (integer)
Указывает, что метод, осуществляющий выборку данных, должен возвращать каждую строку выборки в виде объекта, в котором имена переменных соответствуют именам столбцов результирующего набора. PDO::FETCH_LAZY создает объект с такими же именами переменных, с которыми осуществлялась выборка. Константа недействительна для функции PDOStatement::fetchAll().
PDO::FETCH_ASSOC (integer)
Указывает, что метод, осуществляющий выборку данных, должен возвращать каждую строку результирующего набора в виде ассоциативного массива, индексы которого соответствуют именам столбцов результата выборки. Если в результирующем наборе несколько столбцов с одинаковыми именами, PDO::FETCH_ASSOC будет возвращать по одному значению для каждого столбца. Значения дублирующихся столбцов будут утеряны.
PDO::FETCH_NAMED (integer)
Указывает, что метод, осуществляющий выборку данных, должен возвращать каждую строку результирующего набора в виде ассоциативного массива, индексы которого соответствуют именам столбцов результата выборки. Если в результирующем наборе несколько столбцов с одинаковыми именами, PDO::FETCH_NAMED возвращает массив значений для каждого имени столбца.
PDO::FETCH_NUM (integer)
Указывает, что метод, осуществляющий выборку данных, должен возвращать каждую строку результирующего набора в виде массива, индексы которого соответствуют порядковым номерам столбцов результата выборки. Нумерация начинается с 0.
PDO::FETCH_BOTH (integer)
Указывает, что метод, осуществляющий выборку данных, должен возвращать каждую строку результирующего набора в виде массива. Индексация массива производится и по именам столбцов и по их порядковым номерам в результирующей таблице. Нумерация начинается с 0.
PDO::FETCH_OBJ (integer)
Указывает, что метод, осуществляющий выборку данных, должен возвращать каждую строку результирующего набора в виде объекта, имена свойств которого соответствуют именам столбцов результирующей таблицы.
PDO::FETCH_BOUND (integer)
Указывает, что метод, осуществляющий выборку данных, должен возвращать TRUE и присваивать значения столбцов таблицы переменным PHP, которые были привязаны методами PDOStatement::bindParam() или PDOStatement::bindColumn().
PDO::FETCH_COLUMN (integer)
Указывает, что метод, осуществляющий выборку данных, должен возвращать значение только одного столбца из следующей строки результирующего набора.
PDO::FETCH_CLASS (integer)
Указывает, что метод, осуществляющий выборку данных, должен возвращать новый объект запрашиваемого класса, заполняя именованные свойства класса значениями столбцов результирующей таблицы.

Замечание: Если в классе нет свойства с необходимым именем, будет вызван магический метод __set().

PDO::FETCH_INTO (integer)
Указывает, что метод, осуществляющий выборку данных, должен обновлять существующий объект запрашиваемого класса, заполняя именованные свойства класса значениями столбцов результирующей таблицы.
PDO::FETCH_FUNC (integer)
Позволяет настроить обработку данных "на лету" во время выборки (константа действительна только для функции PDOStatement::fetchAll()).
PDO::FETCH_GROUP (integer)
Группировка возвращаемых значений. Обычно комбинируется с константами PDO::FETCH_COLUMN или PDO::FETCH_KEY_PAIR.
PDO::FETCH_UNIQUE (integer)
Выбирать только уникальные значения, исключать дубли из результата.
PDO::FETCH_KEY_PAIR (integer)
Выборка из двух столбцов будет помещена в массив, в котором значения первого столбца принимаются за ключи, а значения второго - за значения. Константа доступна с версии PHP 5.2.3.
PDO::FETCH_CLASSTYPE (integer)
Определение имени класса по значению первого столбца.
PDO::FETCH_SERIALIZE (integer)
Аналогична PDO::FETCH_INTO, но объект представлен в виде сериализованной строки. Константа доступна с версии PHP 5.1.0. С версии PHP 5.3.0 конструктор класса не будет вызван, если этот флаг установлен.
PDO::FETCH_PROPS_LATE (integer)
Вызывать конструктор до установки свойств. Константа доступна с версии PHP 5.2.0.
PDO::ATTR_AUTOCOMMIT (integer)
Если значение FALSE, PDO попытается отключить автоматическую фиксацию изменений в базе данных, таким образом началом транзакции будет установление соединения.
PDO::ATTR_PREFETCH (integer)
Изменение размера буфера предвыборки позволяет регулировать баланс между затрачиваемой памятью и скоростью работы с базой данных. Не все связки база/драйвер поддерживают изменение размера этого буфера. Чем больше этот размер, тем выше быстродействие, но и выше затраты памяти.
PDO::ATTR_TIMEOUT (integer)
Задает время в секундах, в течение которого должен быть завершен обмен с базой данных.
PDO::ATTR_ERRMODE (integer)
Подробно об этом атрибуте см. раздел Ошибки и их обработка.
PDO::ATTR_SERVER_VERSION (integer)
Этот атрибут предназначен только для чтения; он содержит информацию о версии сервера баз данных, к которому подключен PDO.
PDO::ATTR_CLIENT_VERSION (integer)
Этот атрибут предназначен только для чтения; он содержит информацию о версии клиентских библиотек, которые использует драйвер PDO.
PDO::ATTR_SERVER_INFO (integer)
Этот атрибут предназначен только для чтения; он содержит информацию о сервере баз данных, к которому подключен PDO.
PDO::ATTR_CONNECTION_STATUS (integer)
PDO::ATTR_CASE (integer)
Приведение имен столбцов к нужному регистру, который задается константами PDO::CASE_*.
PDO::ATTR_CURSOR_NAME (integer)
Получение или установке имени курсора. Особенно полезно при использовании прокручиваемых курсоров или обновления данных в конкретных позициях.
PDO::ATTR_CURSOR (integer)
Выбор типа курсора. PDO на данный момент поддерживает PDO::CURSOR_FWDONLY и PDO::CURSOR_SCROLL. Если вы не уверены, что вам нужен именно прокручиваемый курсор, выбирайте PDO::CURSOR_FWDONLY.
PDO::ATTR_DRIVER_NAME (string)
Возвращает имя драйвера.

Пример #1 Пример использования PDO::ATTR_DRIVER_NAME

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
  echo 
"Работаем с mysql; делаем что-то специфичное для mysql\n";
}
?>

PDO::ATTR_ORACLE_NULLS (integer)
Преобразование пустых строк в SQL NULL в выборках.
PDO::ATTR_PERSISTENT (integer)
Запрашивать постоянное соединение вместо создания нового подключения. Подробнее об этом атрибуте см. раздел Подключения и управление подключениями.
PDO::ATTR_STATEMENT_CLASS (integer)
Устанавливает имя класса, для которого возвращаются запросы (statements).
PDO::ATTR_FETCH_CATALOG_NAMES (integer)
Предписание предварять имена столбцов именами каталогов в результирующем наборе. Имя столбца отделяется от имени каталога десятичной точкой (.). Поддержка этого атрибута заложена на уровне драйвера; этот функционал поддерживается не всеми драйверами.
PDO::ATTR_FETCH_TABLE_NAMES (integer)
Предписание предварять имена столбцов именами исходных таблиц в результирующем наборе. Имя столбца отделяется от имени таблицы десятичной точкой (.). Поддержка этого атрибута заложена на уровне драйвера; этот функционал поддерживается не всеми драйверами.
PDO::ATTR_STRINGIFY_FETCHES (integer)
Принудительно преобразовывать все получаемые значения в строки.
PDO::ATTR_MAX_COLUMN_LEN (integer)
Устанавливает максимальную длину имени столбца.
PDO::ATTR_DEFAULT_FETCH_MODE (integer)
Константа доступна с версии PHP 5.2.0
PDO::ATTR_EMULATE_PREPARES (integer)
Константа доступна с версии PHP 5.1.3.
PDO::ATTR_DEFAULT_STR_PARAM (integer)
Устанавливает по умолчанию тип параметра строку, значением может быть одна из констант: PDO::PARAM_STR_NATL или PDO::PARAM_STR_CHAR. Константа доступна с версии PHP 7.2.0.
PDO::ERRMODE_SILENT (integer)
Предписание не выбрасывать исключений в случае ошибок. Предполагается, что разработчик скрипта явно проверяет все исключительные ситуации. Это режим по умолчанию. Подробнее об этом атрибуте см. в разделе Ошибки и их обработка.
PDO::ERRMODE_WARNING (integer)
Предписание выдавать сообщение об ошибке PHP уровня E_WARNING. Подробнее об этом атрибуте см. в разделе Ошибки и их обработка.
PDO::ERRMODE_EXCEPTION (integer)
Предписание выбрасывать исключение PDOException в случае ошибки. Подробнее об этом атрибуте см. в разделе Ошибки и их обработка.
PDO::CASE_NATURAL (integer)
Предписание оставлять имена столбцов такими, какие выдал драйвер базы данных.
PDO::CASE_LOWER (integer)
Приводить имена столбцов к нижнему регистру.
PDO::CASE_UPPER (integer)
Приводить имена столбцов к верхнему регистру.
PDO::NULL_NATURAL (integer)
PDO::NULL_EMPTY_STRING (integer)
PDO::NULL_TO_STRING (integer)
PDO::FETCH_ORI_NEXT (integer)
Предписание выбрать следующую строку из результирующего набора. Константа действительна только для прокручиваемых курсоров.
PDO::FETCH_ORI_PRIOR (integer)
Предписание выбрать предыдущую строку из результирующего набора. Константа действительна только для прокручиваемых курсоров.
PDO::FETCH_ORI_FIRST (integer)
Предписание выбрать первую строку из результирующего набора. Константа действительна только для прокручиваемых курсоров.
PDO::FETCH_ORI_LAST (integer)
Предписание выбрать последнюю строку из результирующего набора. Константа действительна только для прокручиваемых курсоров.
PDO::FETCH_ORI_ABS (integer)
Предписание выбрать строку с указанным номером из результирующего набора. Константа действительна только для прокручиваемых курсоров.
PDO::FETCH_ORI_REL (integer)
Предписание выбрать строку из результирующего набора относительно текущего положения курсора. Константа действительна только для прокручиваемых курсоров.
PDO::CURSOR_FWDONLY (integer)
Предписание создать объект PDOStatement с последовательным курсором. Последовательные курсоры выбираются по умолчанию, так как это наиболее общий и быстрый способ доступа к данным в БД из PHP.
PDO::CURSOR_SCROLL (integer)
Предписание создать объект PDOStatement с прокручиваемым курсором. Передача констант PDO::FETCH_ORI_* позволяет задать режим работы курсора, то, как будут выбираться строки из результирующего набора запроса.
PDO::ERR_NONE (string)
Соответствует коду SQLSTATE '00000'. Это означает, что SQL-запрос выполнен успешно без ошибок или предупреждений. Эта константа внедрена для удобства при проверке, есть ли ошибки, функциями PDO::errorCode() или PDOStatement::errorCode(). Также можно проверять, есть ли ошибка внутри метода, сравнивая его код возврата с этой константой.
PDO::PARAM_EVT_ALLOC (integer)
Событие, возникающее при выделении памяти под объект
PDO::PARAM_EVT_FREE (integer)
Событие, возникающее при освобождении занимаемой объектом памяти
PDO::PARAM_EVT_EXEC_PRE (integer)
Событие, возникающее перед запуском подготовленного запроса.
PDO::PARAM_EVT_EXEC_POST (integer)
Событие, возникающее после запуска подготовленного запроса.
PDO::PARAM_EVT_FETCH_PRE (integer)
Событие, возникающее перед выборкой данных из результирующего набора.
PDO::PARAM_EVT_FETCH_POST (integer)
Событие, возникающее после выборки данных из результирующего набора.
PDO::PARAM_EVT_NORMALIZE (integer)
Событие, возникающее во время регистрации параметров, позволяющее драйверу нормализовать имена параметров.
PDO::SQLITE_DETERMINISTIC (integer)
Указывает, что функция созданная PDO::sqliteCreateFunction() детерминированна, то есть она всегда возвращает одинаковый результат для для одинаковых входных данных в одном выражении SQL. (Доступно с PHP 7.1.4.)