PDO::setAttribute
Définit un attribut PDO prédéfini ou un attribut de pilote personnalisé.
Syntaxe
bool PDO::setAttribute ( $attribute, $value );
Paramètres
$attribute: attribut à définir. Consultez la section Notes pour obtenir la liste des attributs pris en charge.
$value: valeur (type mixte).
Valeur de retour
Retourne true en cas de réussite ; sinon, false.
Notes
Attribut | Traité par | Valeurs prises en charge | Description |
---|---|---|---|
PDO::ATTR_CASE | PDO | PDO::CASE_LOWER PDO::CASE_NATURAL PDO::CASE_UPPER |
Spécifie la casse des noms de colonne. PDO::CASE_LOWER impose des noms de colonnes en minuscules. PDO::CASE_NATURAL (valeur par défaut) affiche les noms de colonne tels qu’ils sont retournés par la base de données. PDO::CASE_UPPER impose des noms de colonne en majuscules. Cet attribut peut être défini à l’aide de PDO::setAttribute. |
PDO::ATTR_DEFAULT_FETCH_MODE | PDO | Consultez la documentation de PDO. | Consultez la documentation de PDO. |
PDO::ATTR_DEFAULT_STR_PARAM | PDO | PDO::PARAM_STR_CHAR PDO::PARAM_STR_NATL |
Pour plus d’informations, consultez les exemples de PDO::quote. |
PDO::ATTR_ERRMODE | PDO | PDO::ERRMODE_SILENT PDO::ERRMODE_WARNING PDO::ERRMODE_EXCEPTION |
Spécifie comment le pilote signale les échecs. PDO::ERRMODE_SILENT (valeur par défaut) définit les codes d’erreur et les informations. PDO::ERRMODE_WARNING déclenche E_WARNING. PDO::ERRMODE_EXCEPTION entraîne la levée d’une exception. Cet attribut peut être défini à l’aide de PDO::setAttribute. |
PDO::ATTR_ORACLE_NULLS | PDO | Consultez la documentation de PDO. | Spécifie comment les valeurs Null doivent être retournées. PDO::NULL_NATURAL n’effectue aucune conversion. PDO::NULL_EMPTY_STRING convertit une chaîne vide en valeur Null. PDO::NULL_TO_STRING convertit la valeur Null en chaîne vide. |
PDO::ATTR_STATEMENT_CLASS | PDO | Consultez la documentation de PDO. | Définit la classe d’instruction fournie par l’utilisateur dérivée de PDOStatement. Exige array(string classname, array(mixed constructor_args)) .Pour plus d’informations, consultez la documentation de PDO. |
PDO::ATTR_STRINGIFY_FETCHES | PDO | True ou False | Convertit les valeurs numériques en chaînes lors de la récupération des données. |
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE | Pilotes Microsoft SQL Server pour PHP | De 1 jusqu’à la limite de la mémoire PHP. | Définit la taille de la mémoire tampon qui contient le jeu de résultats lors de l’utilisation d’un curseur côté client. La valeur par défaut est 10 240 Ko, si elle n’est pas spécifiée dans le fichier php.ini. Zéro et les nombres négatifs ne sont pas autorisés. Pour plus d’informations sur les requêtes qui créent un curseur côté client, consultez Types de curseur (pilote PDO_SQLSRV). |
PDO::SQLSRV_ATTR_DECIMAL_PLACES | Pilotes Microsoft SQL Server pour PHP | Entier compris entre 0 et 4 (inclus) | Spécifie le nombre de décimales pour la mise en forme des valeurs monétaires extraites. Les entiers négatifs et les valeurs supérieures à 4 sont ignorés. Cette option fonctionne uniquement quand PDO::SQLSRV_ATTR_FORMAT_DECIMALS a la valeur true. Cette option peut également être définie au niveau de l’instruction. Dans ce cas, l’option au niveau de l’instruction remplace celle-ci. Pour plus d’informations, consultez Mise en forme des chaînes décimales et valeurs monétaires (pilote PDO_SQLSR). |
PDO::SQLSRV_ATTR_DIRECT_QUERY | Pilotes Microsoft SQL Server pour PHP | True ou False | Spécifie une exécution de requête directe ou préparée. Pour plus d’informations, consultez Exécution d’instruction directe et exécution d’instruction préparée dans le pilote PDO_SQLSRV. |
PDO::SQLSRV_ATTR_ENCODING | Pilotes Microsoft SQL Server pour PHP | PDO::SQLSRV_ENCODING_UTF8 PDO::SQLSRV_ENCODING_SYSTEM. |
Définit l’encodage de jeu de caractères utilisé par le pilote pour communiquer avec le serveur. PDO::SQLSRV_ENCODING_BINARY n’est pas pris en charge. La valeur par défaut est PDO::SQLSRV_ENCODING_UTF8. |
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE | Pilotes Microsoft SQL Server pour PHP | True ou False | Spécifie s’il faut récupérer les types de date et d’heure en tant qu’objets DateTime PHP. Si vous conservez la valeur false, le comportement par défaut consiste à les retourner sous forme de chaînes. Cette option peut également être définie au niveau de l’instruction. Dans ce cas, l’option au niveau de l’instruction remplace celle-ci. Pour plus d’informations, consultez Procédure : Récupérer des types date et heure sous forme d’objets datetime PHP à l’aide du pilote PDO_SQLSRV. |
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE | Pilotes Microsoft SQL Server pour PHP | True ou False | Gère les extractions de nombres à partir de colonnes avec des types SQL numériques (bit, entier, smallint, tinyint, float ou real). Quand l’indicateur d’option de connexion ATTR_STRINGIFY_FETCHES est activé, la valeur de retour est une chaîne, même si SQLSRV_ATTR_FETCHES_NUMERIC_TYPE est activé. Quand le type PDO retourné dans la colonne de liaison est PDO_PARAM_INT, la valeur de retour à partir d’une colonne d’entiers est int, même si SQLSRV_ATTR_FETCHES_NUMERIC_TYPE est désactivé. |
PDO::SQLSRV_ATTR_FORMAT_DECIMALS | Pilotes Microsoft SQL Server pour PHP | True ou False | Spécifie s’il faut ajouter des zéros au début des chaînes décimales si nécessaire. Si elle est définie, cette option active l’option PDO::SQLSRV_ATTR_DECIMAL_PLACES pour mettre en forme les types monétaires. Si vous conservez la valeur false, le comportement par défaut qui consiste à retourner la précision exacte et à omettre les zéros non significatifs pour les valeurs inférieures à 1 est utilisé. Cette option peut également être définie au niveau de l’instruction. Dans ce cas, l’option au niveau de l’instruction remplace celle-ci. Pour plus d’informations, consultez Mise en forme des chaînes décimales et valeurs monétaires (pilote PDO_SQLSR). |
PDO::SQLSRV_ATTR_QUERY_TIMEOUT | Pilotes Microsoft SQL Server pour PHP | entier | Définit le délai d’expiration de la requête, en secondes. La valeur par défaut est 0, ce qui signifie que le pilote attend indéfiniment les résultats. Les nombres négatifs ne sont pas autorisés. |
PDO traite certains des attributs prédéfinis et exige que le pilote en traite d’autres. Tous les attributs personnalisés et toutes les options de connexion sont traités par le pilote. Un attribut, une option de connexion ou une valeur qui ne sont pas pris en charge sont signalés selon le paramètre de PDO::ATTR_ERRMODE.
La prise en charge de PDO a été ajoutée dans la version 2.0 de Pilotes Microsoft SQL Server pour PHP.
Exemple
Cet exemple montre comment définir l’attribut 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" ) ));
}
?>