PDO::setAttribute
Задает предопределенный атрибут PDO либо настраиваемый атрибут драйвера.
Синтаксис
bool PDO::setAttribute ( $attribute, $value );
Параметры
$attribute: задаваемый атрибут. Список поддерживаемых атрибутов см. в разделе "Примечания".
$value: значение (смешанные типы).
Возвращаемое значение
Возвращает значение true в случае успеха, в противном случае — значение false.
Замечания
Атрибут | Обрабатывается | Поддерживаемые значения | Description |
---|---|---|---|
PDO::ATTR_CASE | PDO | PDO::CASE_LOWER PDO::CASE_NATURAL PDO::CASE_UPPER |
Указывает регистр имен столбцов. PDO::CASE_LOWER задает имена столбцов в нижнем регистре. PDO::CASE_NATURAL (используется по умолчанию) отображает имена столбцов в том виде, в котором они возвращаются из базы данных. PDO::CASE_UPPER задает имена столбцов в верхнем регистре. Этот атрибут можно задать с помощью PDO::setAttribute. |
PDO::ATTR_DEFAULT_FETCH_MODE | PDO | Обратитесь к документации по PDO. | Обратитесь к документации по PDO. |
PDO::ATTR_DEFAULT_STR_PARAM | PDO | PDO::PARAM_STR_CHAR PDO::PARAM_STR_NATL |
Дополнительные сведения см. в примерах использования класса PDO::quote. |
PDO::ATTR_ERRMODE | PDO | PDO::ERRMODE_SILENT PDO::ERRMODE_WARNING PDO::ERRMODE_EXCEPTION |
Указывает, как драйвер сообщает о сбоях. PDO::ERRMODE_SILENT (используется по умолчанию) задает коды ошибок и сведения об ошибках. PDO::ERRMODE_WARNING вызывает E_WARNING. PDO::ERRMODE_EXCEPTION приводит к возникновению исключения. Этот атрибут можно задать с помощью PDO::setAttribute. |
PDO::ATTR_ORACLE_NULLS | PDO | Обратитесь к документации по PDO. | Указывает, как следует возвращать значения NULL. PDO::NULL_NATURAL не выполняет преобразование. PDO::NULL_EMPTY_STRING преобразует пустую строку в значение NULL. PDO::NULL_TO_STRING преобразует значение NULL d пустую строку. |
PDO::ATTR_STATEMENT_CLASS | PDO | Обратитесь к документации по PDO. | Задает пользовательский класс инструкций, производный от PDOStatement. Требует использования array(string classname, array(mixed constructor_args)) .Дополнительные сведения см. в документации по PDO. |
PDO::ATTR_STRINGIFY_FETCHES | PDO | true или false | Преобразует числовые значения в строки при извлечении данных. |
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE | Драйверы Microsoft SQL Server для PHP | От 1 до предела памяти PHP. | Задает размер буфера, который содержит результирующий набор при использовании клиентского курсора. Значение по умолчанию — 10 240 КБ, если не указано в файле php.ini. Число должно быть больше нуля. Дополнительные сведения о запросах, создающих клиентский курсор: Типы курсоров (PDO_SQLSRV Driver). |
PDO::SQLSRV_ATTR_DECIMAL_PLACES | Драйверы Microsoft SQL Server для PHP | Целое число от 0 до 4 (включительно). | Указывает число десятичных знаков при форматировании полученных денежных значений. Любое отрицательное целое число или значение больше 4 будет игнорироваться. Этот параметр работает, только если для PDO::SQLSRV_ATTR_FORMAT_DECIMALS указано значение true. Этот параметр также можно задать на уровне инструкции. В таком случае этот параметр будет переопределен параметром уровня инструкции. См. подробнее о форматировании десятичных строк и денежных значений (драйвер PDO_SQLSRV). |
PDO::SQLSRV_ATTR_DIRECT_QUERY | Драйверы Microsoft SQL Server для PHP | true или false | Задает выполнение прямого или подготовленного запроса. Дополнительные сведения см. в статье Выполнение прямых и подготовленных инструкций в драйвере PDO_SQLSRV. |
PDO::SQLSRV_ATTR_ENCODING | Драйверы Microsoft SQL Server для PHP | PDO::SQLSRV_ENCODING_UTF8 PDO::SQLSRV_ENCODING_SYSTEM |
Задает кодировку, используемую драйвером для обмена данными с сервером. PDO::SQLSRV_ENCODING_BINARY не поддерживается. По умолчанию используется PDO::SQLSRV_ENCODING_UTF8. |
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE | Драйверы Microsoft SQL Server для PHP | true или false | Указывает, нужно ли извлекать типы даты и времени в виде объектов PHP DateTime. Если оставить значение false, по умолчанию они будут возвращаться как строки. Этот параметр также можно задать на уровне инструкции. В таком случае этот параметр будет переопределен параметром уровня инструкции. См. подробнее об извлечении типов даты и времени в виде объектов PHP DateTime с помощью драйвера PDO_SQLSRV. |
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE | Драйверы Microsoft SQL Server для PHP | true или false | Обрабатывает выборку числовых значений из столбцов с числовыми типами SQL (bit, integer, smallint, tinyint, float или real). Если включен флаг параметра подключения ATTR_STRINGIFY_FETCHES, возвращаемое значение является строкой даже при включении SQLSRV_ATTR_FETCHES_NUMERIC_TYPE. Если возвращаемый тип PDO в столбце привязки представляет PDO_PARAM_INT, возвращаемое значение из столбца с целочисленными значениями имеет тип int даже при отключении SQLSRV_ATTR_FETCHES_NUMERIC_TYPE. |
PDO::SQLSRV_ATTR_FORMAT_DECIMALS | Драйверы Microsoft SQL Server для PHP | true или false | Указывает, нужно ли при необходимости добавлять начальные нули к десятичным строкам. Если этот параметр задан, включается параметр PDO::SQLSRV_ATTR_DECIMAL_PLACES для форматирования типов валюты. Если задано значение false, по умолчанию будут возвращаться точные числа с пропуском начальных нулей для значений меньше 1. Этот параметр также можно задать на уровне инструкции. В таком случае этот параметр будет переопределен параметром уровня инструкции. См. подробнее о форматировании десятичных строк и денежных значений (драйвер PDO_SQLSRV). |
PDO::SQLSRV_ATTR_QUERY_TIMEOUT | Драйверы Microsoft SQL Server для PHP | integer | Задает время ожидания выполнения запроса в секундах. По умолчанию используется значение 0, то есть драйвер ожидает результаты бесконечно долго. Отрицательные значения не допускаются. |
PDO обрабатывает некоторые предопределенные атрибуты, оставляя обработку остальных драйверу. Все настраиваемые атрибуты и параметры соединения обрабатываются драйвером. Сведения о неподдерживаемых атрибутах, параметрах соединения и значениях будут выводиться согласно параметрам PDO::ATTR_ERRMODE.
Добавлена поддержка PDO версии 2.0 драйверов Майкрософт для PHP для SQL Server.
Пример
Этот пример показывает, как задать атрибут PDO::ATTR_ERRMODE.
<?php
$database = "AdventureWorks";
$conn = new PDO( "sqlsrv:server=(local) ; Database = $database", "", "");
$attributes1 = array( "ERRMODE" );
foreach ( $attributes1 as $val ) {
echo "PDO::ATTR_$val: ";
var_dump ($conn->getAttribute( constant( "PDO::ATTR_$val" ) ));
}
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$attributes1 = array( "ERRMODE" );
foreach ( $attributes1 as $val ) {
echo "PDO::ATTR_$val: ";
var_dump ($conn->getAttribute( constant( "PDO::ATTR_$val" ) ));
}
?>