Поделиться через


PDO::setAttribute

Скачать драйвер PHP

Задает предопределенный атрибут 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" ) ));  
   }  
?>  

См. также

Класс PDO

PDO