# PDO->setAttribute()

(PHP 5 >= 5.1.0, PECL pdo:0.1-1.0.3)

PDO->setAttribute() — Set an attribute

### Description

PDO
bool setAttribute ( int `$attribute` , mixed `$value` )

Sets an attribute on the database handle. Some of the available generic attributes are listed below; some drivers may make use of additional driver specific attributes.

- PDO::ATTR_CASE: Force column names to a specific case.

  - PDO::CASE_LOWER: Force column names to lower case.

  - PDO::CASE_NATURAL: Leave column names as returned by the database driver.

  - PDO::CASE_UPPER: Force column names to upper case.

- PDO::ATTR_ERRMODE: Error reporting.

  - PDO::ERRMODE_SILENT: Just set error codes.

  - PDO::ERRMODE_WARNING: Raise E_WARNING.

  - PDO::ERRMODE_EXCEPTION: Throw exceptions.

- PDO::ATTR_ORACLE_NULLS (available with all drivers, not just Oracle): Conversion of NULL and empty strings.

  - PDO::NULL_NATURAL: No conversion.

  - PDO::NULL_EMPTY_STRING: Empty string is converted to `NULL`.

  - PDO::NULL_TO_STRING: NULL is converted to an empty string.

- PDO::ATTR_STRINGIFY_FETCHES: Convert numeric values to strings when fetching. Requires bool.

- PDO::ATTR_STATEMENT_CLASS: Set user-supplied statement class derived from PDOStatement. Cannot be used with persistent PDO instances. Requires array(string classname, array(mixed constructor_args)).

- PDO::ATTR_AUTOCOMMIT (available in OCI, Firebird and MySQL): Whether to autocommit every single statement.

- PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (available in MySQL): Use buffered queries.

### Return Values

Returns `TRUE` on success or `FALSE` on failure.