PDO::getAttribute

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)

PDO::getAttribute — Récupère un attribut d'une connexion à une base de données

Description

public function PDO::getAttribute(int $attribute): mixed

Cette fonction retourne la valeur d'un attribut d'une connexion à une base de données. Pour récupérer les attributs PDOStatement, se référer à la fonction PDOStatement::getAttribute().

Il est à noter que certaines combinaisons base de données/pilote ne prennent pas en charge tous les attributs de connexion.

Liste de paramètres

attribute

Une des constantes PDO::ATTR_*. Les attributs génériques qui sont appliqués aux connexions sont les suivants :

Certains pilotes peuvent faire usage d'attributs supplémentaires spécifiques au pilote. Il est à noter que les attributs spécifiques au pilote ne doivent pas être utilisés avec d'autres pilotes.

Valeurs de retour

Un appel réussi retourne la valeur de l'attribut PDO demandé. Un appel qui a échoué retourne la valeur null.

Erreurs / Exceptions

La méthode PDO::getAttribute() peut générer une exception PDOException lorsque le pilote sous-jacent ne prend pas en charge l'attribute demandé.

Historique

Version Description
8.4.0 Il est désormais possible de récupérer la valeur de l'attribut PDO::ATTR_STRINGIFY_FETCHES.
8.4.0 La valeur de PDO::ATTR_AUTOCOMMIT est désormais retournée sous forme de bool par les pilotes MySQL et Firebird, et la valeur de PDO::ATTR_EMULATE_PREPARES et de PDO::MYSQL_ATTR_DIRECT_QUERY est désormais retournée sous forme de bool par le pilote MySQL ; auparavant, elles étaient retournées sous forme d'int.

Exemples

Exemple #1 Récupération des attributs de connexion à une base de données

<?php
$conn = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
$attributes = array(
    "AUTOCOMMIT", "ERRMODE", "CASE", "CLIENT_VERSION", "CONNECTION_STATUS",
    "ORACLE_NULLS", "PERSISTENT", "PREFETCH", "SERVER_INFO", "SERVER_VERSION",
    "TIMEOUT"
);

foreach ($attributes as $val) {
    echo "PDO::ATTR_$val: ";
    echo $conn->getAttribute(constant("PDO::ATTR_$val")) . "\n";
}
?>

Voir aussi