PDO::getAttribute

Retrieve a database connection attribute

&reftitle.description; public `mixed` `PDO::getAttribute` `int` `attribute`

This function returns the value of a database connection attribute. To retrieve PDOStatement attributes, refer to `PDOStatement::getAttribute`.

Note that some database/driver combinations may not support all of the database connection attributes.

&reftitle.parameters;

`attribute`

- One of the `PDO::ATTR_*` constants. The generic attributes that apply to database connections are as follows:

  - `PDO::ATTR_AUTOCOMMIT`
  - `PDO::ATTR_CASE`
  - `PDO::ATTR_CLIENT_VERSION`
  - `PDO::ATTR_CONNECTION_STATUS`
  - `PDO::ATTR_DRIVER_NAME`
  - `PDO::ATTR_ERRMODE`
  - `PDO::ATTR_ORACLE_NULLS`
  - `PDO::ATTR_PERSISTENT`
  - `PDO::ATTR_PREFETCH`
  - `PDO::ATTR_SERVER_INFO`
  - `PDO::ATTR_SERVER_VERSION`
  - `PDO::ATTR_TIMEOUT`

  Some drivers may make use of additional driver specific attributes. Note that driver specific attributes must not be used with other drivers.

&reftitle.returnvalues;

A successful call returns the value of the requested PDO attribute. An unsuccessful call returns `null`.

&reftitle.errors;

`PDO::getAttribute` may throw a PDOException when the underlying driver does not support the requested `attribute`.

&reftitle.examples;

### Retrieving database connection attributes

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

&reftitle.seealso;

- `PDO::setAttribute`
- `PDOStatement::getAttribute`
- `PDOStatement::setAttribute`