PDO::setAttribute
Imposta un attributo predefinito del PDO o un attributo personalizzato del driver.
Sintassi
bool PDO::setAttribute ( $attribute, $value );
Parametri
$attribute: attributo da impostare. Vedere la sezione Osservazioni per l'elenco degli attributi supportati.
$value: valore (tipo misto).
Valore restituito
Restituisce true in caso di esito positivo; in caso contrario, false.
Osservazioni:
Attributo | Elaborato da | Valori supportati | Descrizione |
---|---|---|---|
PDO::ATTR_CASE | PDO | PDO::CASE_LOWER PDO::CASE_NATURAL PDO::CASE_UPPER |
Consente di specificare se i nomi delle colonne sono in lettere maiuscole o minuscole. PDO::CASE_LOWER fa sì che i nomi delle colonne siano in lettere minuscole. PDO::CASE_NATURAL (impostazione predefinita) consente di visualizzare i nomi delle colonne così come vengono restituiti dal database. PDO::CASE_UPPER fa sì che i nomi delle colonne siano in lettere maiuscole. Questo attributo può essere impostato usando PDO::setAttribute. |
PDO::ATTR_DEFAULT_FETCH_MODE | PDO | Vedere la documentazione del PDO. | Vedere la documentazione del PDO. |
PDO::ATTR_DEFAULT_STR_PARAM | PDO | PDO::PARAM_STR_CHAR PDO::PARAM_STR_NATL |
Per altre informazioni, vedere gli esempi in PDO::quote. |
PDO::ATTR_ERRMODE | PDO | PDO::ERRMODE_SILENT PDO::ERRMODE_WARNING PDO::ERRMODE_EXCEPTION |
Consente di specificare come il driver segnala gli errori. PDO::ERRMODE_SILENT (predefinito) imposta i codici di errore e le informazioni. PDO::ERRMODE_WARNING genera E_WARNING. PDO::ERRMODE_EXCEPTION causa la generazione di un'eccezione. Questo attributo può essere impostato usando PDO::setAttribute. |
PDO::ATTR_ORACLE_NULLS | PDO | Vedere la documentazione del PDO. | Consente di specificare come devono essere restituiti i valori Null. PDO::NULL_NATURAL non esegue alcuna conversione. PDO::NULL_EMPTY_STRING converte una stringa vuota in valore Null. PDO::NULL_TO_STRING converte il valore Null in una stringa vuota. |
PDO::ATTR_STATEMENT_CLASS | PDO | Vedere la documentazione del PDO. | Consente di impostare la classe di istruzione fornita dall'utente derivata da PDOStatement. Richiede array(string classname, array(mixed constructor_args)) .Per altre informazioni, vedere la documentazione del PDO. |
PDO::ATTR_STRINGIFY_FETCHES | PDO | true o false | Consente di convertire i valori numerici in stringhe durante il recupero di dati. |
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE | Microsoft Drivers per PHP per SQL Server | 1 per il limite di memoria PHP. | Imposta le dimensioni del buffer contenente il set di risultati per un cursore sul lato client. Il valore predefinito è 10240 KB, se non viene specificato nel file php.ini. Lo zero e i numeri negativi non sono consentiti. Per altre informazioni sulle query, vedere Tipi di cursore (PDO_SQLSRV Driver). |
PDO::SQLSRV_ATTR_DECIMAL_PLACES | Microsoft Drivers per PHP per SQL Server | 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 istruzione. In questo caso, l'opzione a livello di istruzione eseguirà l'override di questa opzione. Per altre informazioni, vedere Formattazione di stringhe decimali e valori money (driver PDO_SQLSRV). |
PDO::SQLSRV_ATTR_DIRECT_QUERY | Microsoft Drivers per PHP per SQL Server | true o 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. |
Consente di impostare la codifica del set di caratteri usato dal driver per comunicare con il server. PDO::SQLSRV_ENCODING_BINARY non è supportato. Il valore predefinito è PDO::SQLSRV_ENCODING_UTF8. |
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE | Microsoft Drivers per PHP per SQL Server | 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 istruzione. In questo caso, l'opzione a livello di istruzione eseguirà l'override di questa opzione. 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 | 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, 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 | Microsoft Drivers per PHP per SQL Server | 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 istruzione. In questo caso, l'opzione a livello di istruzione eseguirà l'override di questa opzione. Per altre informazioni, vedere Formattazione di stringhe decimali e valori money (driver PDO_SQLSRV). |
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 attributi predefiniti e richiede al driver di elaborare gli altri. Tutti gli attributi personalizzati e le opzioni di connessione vengono elaborati dal driver. Eventuali attributi, opzioni di connessione o valori non supportati vengono segnalati in base all'impostazione di PDO::ATTR_ERRMODE.
Il supporto per PDO è stato aggiunto nella versione 2.0 dei driver Microsoft per PHP per SQL Server.
Esempio
In questo esempio viene illustrato come impostare l'attributo PDO::ATTR_ERRMODE.
<?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" ) ));
}
?>