PDOStatement::setAttribute

PHP-illesztőprogram letöltése

Attribútumértéket állít be, legyen az előre definiált PDO attribútum, vagy egyedi driver attribútum.

Syntax

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

Paraméterek

$ attribútum: Egy egész szám, a PDO::ATTR_* vagy PDO::SQLSRV_ATTR_* állandók egyike. Lásd a Megjegyzések szekciót az elérhető tulajdonságok listájáért.

$ érték: A megadott $attribútumhoz beállítandó (vegyes érték).

Visszaadott érték

IGAZ a siker esetén, HAMIS egyébként.

Remarks

Az alábbi táblázat tartalmazza az elérhető attribútumok listáját:

Attribute Értékek Description
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE 1 a PHP memóriakorlátig. Konfigurálja annak a puffernek a méretét, amely az eredményhalmazt tárolja egy kliens oldali kurzornál.

Az alapértelmezett érték 10 240 KB (10 MB).

További információért a kliensoldali kurzorokról lásd: Cursor-típusok (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_DATA_CLASSIFICATION igaz vagy hamis Megadja, hogy a PDOStatement::getColumnMeta hívásakor lekérik-e az adatosztályozási metaadatokat. Az alapértelmezett érték hamis.
PDO::SQLSRV_ATTR_DECIMAL_PLACES Egész szám 0 és 4 között (beleértve) Megadja a tizedesjegyek számát a lehozott pénzértékek formázásakor.

A rendszer figyelmen kívül hagyja a 4-nél nagyobb negatív egész számokat vagy értékeket.

Ez az opció csak akkor működik, ha a PDO::SQLSRV_ATTR_FORMAT_DECIMALS igaz.

Ez az opció a kapcsolati szinten is beállítható. Ha igen, akkor ez az opció felülírja a kapcsolati szint opciót.

További információért lásd: Tizedes stringek és pénzértékek formázása (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_ENCODING Egész szám

PDO::SQLSRV_ENCODING_UTF8 (Alapértelmezett)

PDO::SQLSRV_ENCODING_SYSTEM

PDO::SQLSRV_ENCODING_BINARY
A meghajtó által használt karakterkódolást állítja be a szerverrel való kommunikációhoz.
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE igaz vagy hamis Megadja, hogy a dátum és idő típusokat PHP DateTime objektumként kell letölteni. Ha hamisan hagyják, az alapértelmezett viselkedés az, hogy visszaadják őket stringként.

Ez az opció a kapcsolati szinten is beállítható. Ha igen, akkor ez az opció felülírja a kapcsolati szint opciót.

További információ : Dátum- és időtípusok lekérése PHP DateTime-objektumként az PDO_SQLSRV illesztőprogram használatával.
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE igaz vagy hamis Numerikus lekéréseket kezel az oszlopokból, amelyek számos SQL típusokkal (bit, egész szám, smallint, tinyint, lelebegő vagy valós alak).

Amikor a ATTR_STRINGIFY_FETCHES kapcsolódási opció zászló bekapcsol, a visszaküldési érték akkor is egy string, ha SQLSRV_ATTR_FETCHES_NUMERIC_TYPE be van kapcsolva.

Ha a kötési oszlopban a visszaadott PDO típus PDO_PARAM_INT, akkor az egész számoszlopból származó visszaküldési érték int, még akkor is, ha SQLSRV_ATTR_FETCHES_NUMERIC_TYPE nem megfelelő.
PDO::SQLSRV_ATTR_FORMAT_DECIMALS igaz vagy hamis Megadja, hogy szükség esetén hozzáadja-e vezető nullákat a tizedes láncsorokhoz. Ha beállítva van be, ez az opció lehetővé teszi a PDO::SQLSRV_ATTR_DECIMAL_PLACES opciót a pénz típusok formázására. Ha hamis marad, a rendszer az alapértelmezett viselkedést követi, amely a pontos értékvisszaadást alkalmazza, és 1-nél kisebb értékeknél elhagyja a kezdő nullákat.

Ez az opció a kapcsolati szinten is beállítható. Ha igen, akkor ez az opció felülírja a kapcsolati szint opciót.

További információért lásd: Tizedes stringek és pénzértékek formázása (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_QUERY_TIMEOUT Egész szám Másodpercekben állítja be a lekérdezési időtúlzást.

Alapértelmezés szerint a sofőr határozatlan ideig vár az eredményekre. Negatív számok nem engedélyezettek.

0 azt jelenti, hogy nincs időkérés.

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