PDO::getAttribute
Recupera il valore di un attributo predefinito del PDO o del driver.
Sintassi
mixed PDO::getAttribute ( $attribute )
Parametri
$attribute: uno degli attributi supportati. Vedere la sezione Osservazioni per l'elenco degli attributi supportati.
Valore restituito
In caso di esito positivo, restituisce il valore di un'opzione di connessione, dell'attributo del PDO predefinito o dell'attributo del driver personalizzato. In caso di errore, restituisce null.
Osservazioni:
Nella tabella seguente sono elencati gli attributi supportati.
Attributo | Elaborato da | Valori supportati | Descrizione |
---|---|---|---|
PDO::ATTR_CASE | PDO | PDO::CASE_LOWER PDO::CASE_NATURAL PDO::CASE_UPPER |
Specifica se i nomi di colonna devono essere in lettere maiuscole o minuscole. PDO::CASE_LOWER impone nomi di colonna in lettere minuscole, PDO::CASE_NATURAL lascia i nomi di colonna come restituiti dal database e PDO::CASE_UPPER impone nomi di colonne in lettere maiuscole. Il valore predefinito è PDO::CASE_NATURAL. Questo attributo può essere impostato anche usando PDO::setAttribute. |
PDO::ATTR_CLIENT_VERSION | Microsoft Drivers per PHP per SQL Server | Matrice di stringhe | Descrive le versioni del driver e delle librerie correlate. Restituisce una matrice con gli elementi seguenti: versione (MajorVer.MinorVer), nome e versione della DLL SQL Server Native Client, versione dei driver Microsoft per PHP per SQL Server (MajorVer.MinorVer.BuildNumber.Revision) |
PDO::ATTR_DEFAULT_STR_PARAM | PDO | PDO::PARAM_STR_CHAR PDO::PARAM_STR_NATL |
Se non è impostato su PDO::PARAM_STR_CHAR, viene restituito PDO::PARAM_STR_NATL. |
PDO::ATTR_DRIVER_NAME | PDO | String | Restituisce sempre "sqlsrv". |
PDO::ATTR_DRIVER_VERSION | Microsoft Drivers per PHP per SQL Server | String | Indica la versione dei driver Microsoft per PHP per SQL Server (MajorVer.MinorVer.BuildNumber.Revision) |
PDO::ATTR_ERRMODE | PDO | PDO::ERRMODE_SILENT PDO::ERRMODE_WARNING PDO::ERRMODE_EXCEPTION |
Specifica la modalità di gestione degli errori da parte del driver. PDO::ERRMODE_SILENT (predefinito) imposta i codici di errore e le informazioni. PDO::ERRMODE_WARNING genera E_WARNING. PDO::ERRMODE_EXCEPTION genera un'eccezione. Questo attributo può essere impostato anche usando PDO::setAttribute. |
PDO::ATTR_ORACLE_NULLS | PDO | Vedere la documentazione del PDO. | Vedere la documentazione del PDO. |
PDO::ATTR_SERVER_INFO | Microsoft Drivers per PHP per SQL Server | Matrice di 3 elementi | Restituisce il database corrente, la versione di SQL Server e l'istanza di SQL Server. |
PDO::ATTR_SERVER_VERSION | Microsoft Drivers per PHP per SQL Server | String | Indica la versione di SQL Server (Major.Minor.BuildNumber) |
PDO::ATTR_STRINGIFY_FETCHES | PDO | Vedere la documentazione del PDO | Vedere la documentazione del PDO. |
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE | Microsoft Drivers per PHP per SQL Server | 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 (driver SQLSRV). |
PDO::SQLSRV_ATTR_DIRECT_QUERY | Microsoft Drivers per PHP per SQL Server | true false |
Specifica l'esecuzione di query diretta o preparata. Per altre informazioni, vedere Esecuzione di istruzioni diretta e preparata nel driver PDO_SQLSRV. |
PDO::SQLSRV_ATTR_ENCODING | Microsoft Drivers per PHP per SQL Server | PDO::SQLSRV_ENCODING_UTF8 PDO::SQLSRV_ENCODING_SYSTEM |
Specifica la codifica del set di caratteri usato dal driver per comunicare con il server. Il valore predefinito è PDO::SQLSRV_ENCODING_UTF8. |
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE | Microsoft Drivers per PHP per SQL Server | 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, anche quando è attivato SQLSRV_ATTR_FETCHES_NUMERIC_TYPE, il valore restituito è una stringa. 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_QUERY_TIMEOUT | Microsoft Drivers per PHP per SQL Server | integer | Imposta il timeout in secondi della query. Il valore predefinito è 0, vale a dire che il driver attende i risultati per un periodo illimitato. I numeri negativi non sono consentiti. |
Il PDO elabora alcuni degli attributi predefiniti e richiede al driver di gestire gli altri. Tutti gli attributi personalizzati e le opzioni di connessione vengono gestiti dal driver. Gli attributi o le opzioni di connessione non supportati restituiscono un valore Null.
Il supporto per PDO è stato aggiunto nella versione 2.0 dei driver Microsoft per PHP per SQL Server.
Esempio
Questo esempio mostra il valore dell'attributo PDO::ATTR_ERRMODE prima e dopo la modifica del valore.
<?php
$database = "AdventureWorks";
$conn = new PDO( "sqlsrv:server=(local) ; Database = $database", "", "");
$attributes1 = array( "ERRMODE" );
foreach ( $attributes1 as $val ) {
echo "PDO::ATTR_$val: ";
var_dump ($conn->getAttribute( constant( "PDO::ATTR_$val" ) ));
}
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$attributes1 = array( "ERRMODE" );
foreach ( $attributes1 as $val ) {
echo "PDO::ATTR_$val: ";
var_dump ($conn->getAttribute( constant( "PDO::ATTR_$val" ) ));
}
// An example using PDO::ATTR_CLIENT_VERSION
print_r($conn->getAttribute( PDO::ATTR_CLIENT_VERSION ));
?>