PDOStatement::setAttribute

Stáhnout ovladač PHP

Nastavuje hodnotu atributu, buď předdefinovaný atribut PDO, nebo vlastní atribut ovladače.

Syntax

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

Parametry

$ atribut: Celé číslo, jedna z konstant PDO::ATTR_* nebo PDO::SQLSRV_ATTR_*. Viz sekce Poznámky pro seznam dostupných atributů.

$ hodnota: (smíšená) hodnota, která má být nastavena pro specifikovaný atribut $.

Návratová hodnota

PRAVDA u úspěchu, jinak NEPRAVDA.

Remarks

Následující tabulka obsahuje seznam dostupných atributů:

Vlastnost Values Description
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE 1 na limit paměti PHP. Konfiguruje velikost bufferu, který uchovává výslednou množinu pro kurzor na straně klienta.

Výchozí hodnota je 10 240 KB (10 MB).

Pro více informací o kurzorech na straně klienta viz Typy kurzorů (PDO_SQLSRV ovladač).
PDO::SQLSRV_ATTR_DATA_CLASSIFICATION pravda nebo lež Specifikuje, zda má při volání PDOStatement::getColumnMeta získat metadata klasifikace dat. Výchozí hodnota je false.
PDO::SQLSRV_ATTR_DECIMAL_PLACES Celé číslo mezi 0 a 4 (včetně) Specifikuje počet desetinných míst při formátování načítaných peněžních hodnot.

Jakékoli záporné celé číslo nebo hodnota větší než 4 budou ignorovány.

Tato možnost funguje pouze tehdy, když platí PDO::SQLSRV_ATTR_FORMAT_DECIMALS.

Tuto možnost lze nastavit i na úrovni připojení. Pokud ano, tato možnost přepisuje možnost úrovně připojení.

Pro více informací viz Formátování desetinných řetězců a peněžních hodnot (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_ENCODING Celé číslo

PDO::SQLSRV_ENCODING_UTF8 (výchozí)

PDO::SQLSRV_ENCODING_SYSTEM

PDO::SQLSRV_ENCODING_BINARY
Nastavuje kódování znakové sady, které ovladač používá ke komunikaci se serverem.
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE pravda nebo lež Specifikuje, zda má být načtena jako PHP objekty DateTime . Pokud zůstane nepravdivé, výchozím chováním je vrácení jako řetězce.

Tuto možnost lze nastavit i na úrovni připojení. Pokud ano, tato možnost přepisuje možnost úrovně připojení.

Další informace naleznete v tématu Postupy: Načtení typů data a času jako objekty PHP DateTime pomocí ovladače PDO_SQLSRV.
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE pravda nebo lež Zpracovává numerické načítání ze sloupců s numerickými SQL typy (bit, celé, smallint, tinyint, float nebo real).

Když je zapnutý příznak možnosti připojení ATTR_STRINGIFY_FETCHES, vrácená hodnota je řetězec i když je SQLSRV_ATTR_FETCHES_NUMERIC_TYPE zapnutý.

Když je vrácený typ PDO ve sloupci bind PDO_PARAM_INT, vrácená hodnota z celočíselného sloupce je int, i když je SQLSRV_ATTR_FETCHES_NUMERIC_TYPE nesprávná.
PDO::SQLSRV_ATTR_FORMAT_DECIMALS pravda nebo lež Specifikuje, zda je vhodné, přidat vedoucí nuly do desetinných řetězců. Pokud je nastavena, tato možnost umožňuje PDO::SQLSRV_ATTR_DECIMAL_PLACES pro formátování typů peněz. Pokud necháte hodnotu false, použije se výchozí chování vrácení přesné přesnosti a vynechání počátečních nul pro hodnoty menší než 1.

Tuto možnost lze nastavit i na úrovni připojení. Pokud ano, tato možnost přepisuje možnost úrovně připojení.

Pro více informací viz Formátování desetinných řetězců a peněžních hodnot (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_QUERY_TIMEOUT Celé číslo Nastaví časový limit dotazu na sekundy.

Ve výchozím nastavení bude řidič čekat na výsledky donekonečna. Záporná čísla nejsou povolená.

0 znamená žádný timeout.

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