Condividi tramite


PDOStatement::setAttribute

Download del driver PHP

Imposta un valore di attributo, ovvero un attributo PDO predefinito o un attributo personalizzato del driver.

Sintassi

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

Parametri

$attribute: numero intero, una delle costanti PDO::ATTR_* or PDO::SQLSRV_ATTR_*. Per l'elenco degli attributi disponibili, vedere la sezione Osservazioni.

$value: valore (misto) da impostare per $attribute.

Valore restituito

TRUE in caso di esito positivo; in caso contrario, FALSE.

Osservazioni:

Nella tabella seguente sono elencati gli attributi disponibili:

Attributo Valori Descrizione
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE 1 per il limite di memoria PHP. Consente di configurare le dimensioni del buffer che contiene il set di risultati per un cursore sul lato client.

Il valore predefinito è 10.240 KB (10 MB).

Per altre informazioni sui cursori sul lato client, vedere Tipi di cursore (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_DATA_CLASSIFICATION true o false Specifica se recuperare i metadati di classificazione dei dati quando si chiama PDOStatement::getColumnMeta. L'impostazione predefinita è false.
PDO::SQLSRV_ATTR_DECIMAL_PLACES Numero intero compreso tra 0 e 4 inclusi Specifica il numero di posizioni decimali per la formattazione dei valori money recuperati.

Qualsiasi numero intero negativo o valore maggiore di 4 verrà ignorato.

Questa opzione funziona solo quando PDO::SQLSRV_ATTR_FORMAT_DECIMALS è true.

Questa opzione può anche essere impostata a livello di connessione. In questo caso, questa opzione eseguirà l'override dell'opzione a livello di connessione.

Per altre informazioni, vedere Formattazione di stringhe decimali e valori money (driver PDO_SQLSRV).
PDO::SQLSRV_ATTR_ENCODING Intero

PDO::SQLSRV_ENCODING_UTF8 (impostazione predefinita)

PDO::SQLSRV_ENCODING_SYSTEM

PDO::SQLSRV_ENCODING_BINARY
Consente di impostare la codifica del set di caratteri usata dal driver per comunicare con il server.
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE true o false Specifica se recuperare i tipi di data e ora come oggetti DateTime PHP. Se false, il comportamento predefinito è restituirli come stringhe.

Questa opzione può anche essere impostata a livello di connessione. In questo caso, questa opzione eseguirà l'override dell'opzione a livello di connessione.

Per altre informazioni, vedere Procedura: Recuperare i tipi di data e ora come oggetti DateTime PHP usando il driver PDO_SQLSRV.
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE true o false Gestisce i recuperi numerici dalle colonne con tipi SQL numerici (bit, integer, smallint, tinyint, float o real).

Quando il flag dell'opzione di connessione ATTR_STRINGIFY_FETCHES è attivato, il valore restituito è una stringa, anche quando è attivato SQLSRV_ATTR_FETCHES_NUMERIC_TYPE.

Quando il tipo PDO restituito nella colonna di associazione è PDO_PARAM_INT, il valore restituito da una colonna integer è un valore int anche se SQLSRV_ATTR_FETCHES_NUMERIC_TYPE è disattivato.
PDO::SQLSRV_ATTR_FORMAT_DECIMALS true o false Specifica se aggiungere zeri iniziali alle stringhe decimali quando appropriato. Se impostata, questa opzione abilita l'opzione PDO::SQLSRV_ATTR_DECIMAL_PLACES per la formattazione dei tipi money. Se false, viene usato il comportamento predefinito di restituire la precisione esatta e di omettere gli zeri iniziali per valori inferiori a 1.

Questa opzione può anche essere impostata a livello di connessione. In questo caso, questa opzione eseguirà l'override dell'opzione a livello di connessione.

Per altre informazioni, vedere Formattazione di stringhe decimali e valori money (driver PDO_SQLSRV).
PDO::SQLSRV_ATTR_QUERY_TIMEOUT Intero Imposta il timeout in secondi della query.

Per impostazione predefinita, il driver attende i risultati per un periodo illimitato. I numeri negativi non sono consentiti.

0 indica nessun timeout.

Esempio

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

Vedi anche

Classe PDOStatement

PDO