PDOStatement::setAttribute

PHP-stuurprogramma downloaden

Stelt een attribuutwaarde in, hetzij een vooraf gedefinieerd PDO-attribuut of een aangepaste driverattribuut.

Syntax

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

Parameters

$ attribuut: Een geheel getal, een van de PDO::ATTR_* of PDO::SQLSRV_ATTR_* constanten. Zie de sectie Opmerkingen voor de lijst met beschikbare attributen.

$ waarde: De (gemengde) waarde die wordt ingesteld voor het gespecificeerde $attribuut.

Retourwaarde

WAAR bij succes, ONWAAR.

Remarks

De volgende tabel bevat de lijst van beschikbare attributen:

Attribute Values Description
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE 1 tot de PHP-geheugenlimiet. Stel de grootte van de buffer in die de resultaatset voor een client-side cursor bevat.

De standaard is 10.240 KB (10 MB).

Voor meer informatie over client-side cursors, zie Cursor Types (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_DATA_CLASSIFICATION waar of onwaar Specificeert of dataclassificatiemetadata moet worden opgehaald bij het aanroepen van PDOStatement::getColumnMeta. De standaardwaarde is onwaar.
PDO::SQLSRV_ATTR_DECIMAL_PLACES Geheel getal tussen 0 en 4 (inclusief) Specificeert het aantal decimalen bij het opmaken van opgehaalde geldwaarden.

Alle negatieve gehele getallen of waarden die meer dan 4 zijn, worden genegeerd.

Deze optie werkt alleen wanneer PDO::SQLSRV_ATTR_FORMAT_DECIMALS waar is.

Deze optie kan ook op het verbindingsniveau worden ingesteld. Als dat zo is, dan overschrijft deze optie de optie op verbindingsniveau.

Voor meer informatie, zie Formatting Decimale Strings and Money Values (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_ENCODING Integer

PDO::SQLSRV_ENCODING_UTF8 (Standaard)

PDO::SQLSRV_ENCODING_SYSTEM

PDO::SQLSRV_ENCODING_BINARY
Stelt de tekenset-codering in om door de driver te worden gebruikt om met de server te communiceren.
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE waar of onwaar Specificeert of datum- en tijdtypes als PHP DateTime-objecten moeten worden opgehaald. Als het onwaar blijft, is het standaardgedrag om ze als strings terug te geven.

Deze optie kan ook op het verbindingsniveau worden ingesteld. Als dat zo is, dan overschrijft deze optie de optie op verbindingsniveau.

Zie Procedure: Datum- en tijdtypen ophalen als PHP-datum/tijdobjecten met behulp van het PDO_SQLSRV-stuurprogramma voor meer informatie.
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE waar of onwaar Behandelt numerieke ophaalacties uit kolommen met numerieke SQL-types (bit, integer, smallint, tinyint, float of reël).

Wanneer de verbindingsoptie-vlag ATTR_STRINGIFY_FETCHES aan staat, is de returnwaarde een string, zelfs als SQLSRV_ATTR_FETCHES_NUMERIC_TYPE aan staat.

Wanneer het geretourneerde PDO-type in de bindkolom PDO_PARAM_INT is, is de retourwaarde van een gehele kolom een int, zelfs als SQLSRV_ATTR_FETCHES_NUMERIC_TYPE niet klopt.
PDO::SQLSRV_ATTR_FORMAT_DECIMALS waar of onwaar Specificeert of leidende nullen aan decimale strings moeten worden toegevoegd wanneer dat passend is. Als ingesteld, schakelt deze optie de PDO::SQLSRV_ATTR_DECIMAL_PLACES optie in voor het formatteren van geldtypes. Als dit onwaar blijft, wordt het standaardgedrag gebruikt waarbij exacte precisie wordt geretourneerd en voorloopnullen voor waarden kleiner dan 1 worden weggelaten.

Deze optie kan ook op het verbindingsniveau worden ingesteld. Als dat zo is, dan overschrijft deze optie de optie op verbindingsniveau.

Voor meer informatie, zie Formatting Decimale Strings and Money Values (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_QUERY_TIMEOUT Integer Stelt de query-timeout in binnen enkele seconden.

Standaard wacht de driver oneindig op de resultaten. Negatieve getallen zijn niet toegestaan.

0 betekent geen time-out.

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