PDOStatement::setAttribute

Pobieranie sterownika PHP

Ustala wartość atrybutu, albo zdefiniowany wcześniej atrybut PDO, albo niestandardowy atrybut sterownika.

Syntax

bool PDOStatement::setAttribute ($attribute, $value );  

Parametry

$ atrybut: Liczba całkowita, jedna ze stałych PDO::ATTR_* lub PDO::SQLSRV_ATTR_*. Zobacz sekcję Uwagi dla listy dostępnych atrybutów.

$ Wartość: (mieszana) wartość ustalana dla określonego atrybutu $.

Wartość zwracana

PRAWDA w przypadku sukcesu, FAŁSZYWA w przeciwnym razie.

Remarks

Poniższa tabela zawiera listę dostępnych atrybutów:

Attribute Values Description
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE 1 do limitu pamięci PHP. Konfiguruje rozmiar bufora przetrzymującego zbiór wyników dla kursora po stronie klienta.

Domyślna pojemność wynosi 10 240 KB (10 MB).

Więcej informacji o kursorach po stronie klienta można znaleźć w artykule Typy kursorów (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_DATA_CLASSIFICATION prawda lub fałsz Określa, czy pobierać metadane klasyfikacji danych podczas wywoływania PDOStatement::getColumnMeta. Wartość domyślna to false.
PDO::SQLSRV_ATTR_DECIMAL_PLACES Liczba całkowita z zakresu od 0 do 4 (włącznie) Określa liczbę miejsc po przecinku przy formatowaniu wartości pobieranych pieniędzy.

Każda ujemna liczba całkowita lub wartość większa niż 4 zostaną zignorowane.

Ta opcja działa tylko wtedy, gdy PDO::SQLSRV_ATTR_FORMAT_DECIMALS jest prawdziwe.

Ta opcja może być również ustawiona na poziomie połączenia. Jeśli tak, to ta opcja przechodzi nad opcją poziomu połączenia.

Więcej informacji można znaleźć w artykule Formatowanie łańcuchów dziesiętnych i wartości pieniężnych (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_ENCODING Integer

PDO::SQLSRV_ENCODING_UTF8 (Domyślnie)

PDO::SQLSRV_ENCODING_SYSTEM

PDO::SQLSRV_ENCODING_BINARY
Ustawia kodowanie zestawu znaków, które sterownik wykorzystuje do komunikacji z serwerem.
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE prawda lub fałsz Określa, czy należy pobierać typy daty i godziny jako obiekty PHP DateTime . Jeśli pozostawi fałszywe, domyślne zachowanie polega na zwracaniu ich jako ciągów znaków.

Ta opcja może być również ustawiona na poziomie połączenia. Jeśli tak, to ta opcja przechodzi nad opcją poziomu połączenia.

Aby uzyskać więcej informacji, zobacz How to: Retrieve Date and Time Types as PHP DateTime Objects Using the PDO_SQLSRV Driver (Jak pobrać typy dat i godzin jako obiekty typu data/godzina w języku PHP przy użyciu sterownika PDO_SQLSRV).
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE prawda lub fałsz Obsługuje numeryczne pobieranie z kolumn o numerycznych typach SQL (bit, liczba całkowita, smallint, tinyint, float lub real).

Gdy flaga opcji połączenia ATTR_STRINGIFY_FETCHES jest włączona, wartość zwrotu jest ciągiem tekstów nawet wtedy, gdy SQLSRV_ATTR_FETCHES_NUMERIC_TYPE jest włączone.

Gdy zwrócony typ PDO w kolumnie bind jest PDO_PARAM_INT, wartość zwrotna z kolumny całkowitej jest int, nawet jeśli SQLSRV_ATTR_FETCHES_NUMERIC_TYPE jest nieprawidłowa.
PDO::SQLSRV_ATTR_FORMAT_DECIMALS prawda lub fałsz Określa, czy należy dodawać zera wiodące do ciągów dziesiętnych, gdy jest to stosowne. Jeśli ta opcja jest ustawiona, umożliwia to opcję PDO::SQLSRV_ATTR_DECIMAL_PLACES do formatowania typów pieniędzy. Jeśli wartość false pozostanie, używane jest domyślne zachowanie zwracania dokładnych wartości i pomijania zer wiodących dla wartości mniejszych niż 1.

Ta opcja może być również ustawiona na poziomie połączenia. Jeśli tak, to ta opcja przechodzi nad opcją poziomu połączenia.

Więcej informacji można znaleźć w artykule Formatowanie łańcuchów dziesiętnych i wartości pieniężnych (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_QUERY_TIMEOUT Integer Ustawia czas zapytania na sekundy.

Domyślnie kierowca będzie czekał w nieskończoność na wyniki. Liczby ujemne są niedozwolone.

0 oznacza brak przerwy.

Example

<?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" ) );  
?>