PDOStatement::setAttribute
Задает значение атрибута — либо предопределенный атрибута PDO, либо пользовательский атрибут драйвера.
Синтаксис
bool PDOStatement::setAttribute ($attribute, $value );
Параметры
$attribute: целое число, одна из констант PDO::ATTR_* или PDO::SQLSRV_ATTR_*. Список доступных атрибутов см. в разделе "Примечания".
$value: значение (смешанное), задаваемое для указанного $attribute.
Возвращаемое значение
Значение TRUE в случае успеха, в противном случае — значение FALSE.
Remarks
Следующая таблица содержит список доступных атрибутов.
attribute | Значения | Описание |
---|---|---|
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE | От 1 до предела памяти PHP. | Задает размер буфера, который содержит результирующий набор для клиентского курсора. Значение по умолчанию — 10 240 КБ (10 МБ). Дополнительные сведения о клиентских курсорах см. в статье Типы курсоров (драйвер PDO_SQLSRV). |
PDO::SQLSRV_ATTR_DATA_CLASSIFICATION | true или false | Позволяет указать, следует ли извлекать метаданные классификации данных при вызове PDOStatement::getColumnMeta. Значение по умолчанию – false. |
PDO::SQLSRV_ATTR_DECIMAL_PLACES | Целое число от 0 до 4 (включительно). | Указывает число десятичных знаков при форматировании полученных денежных значений. Любое отрицательное целое число или значение больше 4 будет игнорироваться. Этот параметр работает, только если для PDO::SQLSRV_ATTR_FORMAT_DECIMALS указано значение true. Этот параметр также можно задать на уровне подключения. Если этот параметр указан, он переопределяет параметр на уровне подключения. См. подробнее о форматировании десятичных строк и денежных значений (драйвер PDO_SQLSRV). |
PDO::SQLSRV_ATTR_ENCODING | Целое число PDO::SQLSRV_ENCODING_UTF8 (по умолчанию) PDO::SQLSRV_ENCODING_SYSTEM PDO::SQLSRV_ENCODING_BINARY |
Задает кодировку, используемую драйвером для обмена данными с сервером. |
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE | true или false | Указывает, нужно ли извлекать типы даты и времени в виде объектов PHP DateTime. Если оставить значение false, по умолчанию они будут возвращаться как строки. Этот параметр также можно задать на уровне подключения. Если этот параметр указан, он переопределяет параметр на уровне подключения. Дополнительные сведения см. в разделе Как извлечь типы даты и времени в виде объектов даты и времени PHP с помощью драйвера PDO_SQLSRV. |
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE | 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 | true или false | Указывает, нужно ли при необходимости добавлять начальные нули к десятичным строкам. Если этот параметр задан, включается параметр PDO::SQLSRV_ATTR_DECIMAL_PLACES для форматирования типов валюты. Если задано значение false, по умолчанию будут возвращаться точные числа с пропуском начальных нулей для значений меньше 1. Этот параметр также можно задать на уровне подключения. Если этот параметр указан, он переопределяет параметр на уровне подключения. См. подробнее о форматировании десятичных строк и денежных значений (драйвер PDO_SQLSRV). |
PDO::SQLSRV_ATTR_QUERY_TIMEOUT | Целое число | Задает время ожидания выполнения запроса в секундах. По умолчанию драйвер ожидает результаты бесконечно. Отрицательные значения не допускаются. 0 означает отсутствие времени ожидания. |
Пример
<?php
$database = "AdventureWorks";
$server = "(local)";
$conn = new PDO( "sqlsrv:server=$server ; Database = $database", "", "", array('MultipleActiveResultSets'=>false ) );
$stmt = $conn->prepare('SELECT * FROM Person.ContactType');
echo $stmt->getAttribute( constant( "PDO::ATTR_CURSOR" ) );
echo "\n";
$stmt->setAttribute(PDO::SQLSRV_ATTR_QUERY_TIMEOUT, 2);
echo $stmt->getAttribute( constant( "PDO::SQLSRV_ATTR_QUERY_TIMEOUT" ) );
?>
См. также:
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по