PDO::setAttribute

Download PHP driver

Sets a predefined PDO attribute or a custom driver attribute.

Syntax

bool PDO::setAttribute ( $attribute, $value );  

Parameters

$attribute: The attribute to set. See the Remarks section for a list of supported attributes.

$value: The value (type mixed).

Return Value

Returns true on success, otherwise false.

Remarks

Attribute Processed by Supported values Description
PDO::ATTR_CASE PDO PDO::CASE_LOWER

PDO::CASE_NATURAL

PDO::CASE_UPPER
Specifies the case of column names.

PDO::CASE_LOWER causes lower case column names.

PDO::CASE_NATURAL (the default) displays column names as returned by the database.

PDO::CASE_UPPER causes column names to upper case.

This attribute can be set using PDO::setAttribute.
PDO::ATTR_DEFAULT_FETCH_MODE PDO See the PDO documentation. See the PDO documentation.
PDO::ATTR_DEFAULT_STR_PARAM PDO PDO::PARAM_STR_CHAR

PDO::PARAM_STR_NATL
For more information see the examples in PDO::quote.
PDO::ATTR_ERRMODE PDO PDO::ERRMODE_SILENT

PDO::ERRMODE_WARNING

PDO::ERRMODE_EXCEPTION
Specifies how the driver reports failures.

PDO::ERRMODE_SILENT (the default) sets the error codes and information.

PDO::ERRMODE_WARNING raises E_WARNING.

PDO::ERRMODE_EXCEPTION causes an exception to be thrown.

This attribute can be set using PDO::setAttribute.
PDO::ATTR_ORACLE_NULLS PDO See the PDO documentation. Specifies how nulls should be returned.

PDO::NULL_NATURAL does no conversion.

PDO::NULL_EMPTY_STRING converts an empty string to null.

PDO::NULL_TO_STRING converts null to an empty string.
PDO::ATTR_STATEMENT_CLASS PDO See the PDO documentation. Sets the user-supplied statement class derived from PDOStatement.

Requires array(string classname, array(mixed constructor_args)).

For more information, see the PDO documentation.
PDO::ATTR_STRINGIFY_FETCHES PDO true or false Converts numeric values to strings when retrieving data.
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE Microsoft Drivers for PHP for SQL Server 1 to the PHP memory limit. Sets the size of the buffer that holds the result set when using a client-side cursor.

The default is 10240 KB, if not specified in the php.ini file.

Zero and negative numbers are not allowed.

For more information about queries that create a client-side cursor, see Cursor Types (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_DECIMAL_PLACES Microsoft Drivers for PHP for SQL Server Integer between 0 and 4 (inclusive) Specifies the number of decimal places when formatting fetched money values.

Any negative integer or value more than 4 will be ignored.

This option works only when PDO::SQLSRV_ATTR_FORMAT_DECIMALS is true.

This option may also be set at the statement level. If so, then the statement level option overrides this one.

For more information, see Formatting Decimal Strings and Money Values (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_DIRECT_QUERY Microsoft Drivers for PHP for SQL Server true or false Specifies direct or prepared query execution. For more information, see Direct Statement Execution and Prepared Statement Execution in the PDO_SQLSRV Driver.
PDO::SQLSRV_ATTR_ENCODING Microsoft Drivers for PHP for SQL Server PDO::SQLSRV_ENCODING_UTF8

PDO::SQLSRV_ENCODING_SYSTEM.
Sets the character set encoding used by the driver to communicate with the server.

PDO::SQLSRV_ENCODING_BINARY is not supported.

The default is PDO::SQLSRV_ENCODING_UTF8.
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE Microsoft Drivers for PHP for SQL Server true or false Specifies whether to retrieve date and time types as PHP DateTime objects. If left false, the default behavior is to return them as strings.

This option may also be set at the statement level. If so, then the statement level option overrides this one.

For more information, see How to: Retrieve Date and Time Types as PHP DateTime Objects Using the PDO_SQLSRV Driver.
PDO::SQLSRV_ATTR_FETCHES_NUMERIC_TYPE Microsoft Drivers for PHP for SQL Server true or false Handles numeric fetches from columns with numeric SQL types (bit, integer, smallint, tinyint, float, or real).

When connection option flag ATTR_STRINGIFY_FETCHES is on, the return value is a string even when SQLSRV_ATTR_FETCHES_NUMERIC_TYPE is on.

When the returned PDO type in bind column is PDO_PARAM_INT, the return value from an integer column is an int even if SQLSRV_ATTR_FETCHES_NUMERIC_TYPE is off.
PDO::SQLSRV_ATTR_FORMAT_DECIMALS Microsoft Drivers for PHP for SQL Server true or false Specifies whether to add leading zeroes to decimal strings when appropriate. If set, this option enables the PDO::SQLSRV_ATTR_DECIMAL_PLACES option for formatting money types. If left false, the default behavior of returning exact precision and omitting leading zeroes for values less than 1 is used.

This option may also be set at the statement level. If so, then the statement level option overrides this one.

For more information, see Formatting Decimal Strings and Money Values (PDO_SQLSRV Driver).
PDO::SQLSRV_ATTR_QUERY_TIMEOUT Microsoft Drivers for PHP for SQL Server integer Sets the query timeout in seconds.

The default is 0, which means the driver will wait indefinitely for results.

Negative numbers are not allowed.

PDO processes some of the predefined attributes and requires the driver to process others. All custom attributes and connection options are processed by the driver. An unsupported attribute, connection option, or unsupported value is reported according to the setting of PDO::ATTR_ERRMODE.

Support for PDO was added in version 2.0 of the Microsoft Drivers for PHP for SQL Server.

Example

This sample shows how to set the PDO::ATTR_ERRMODE attribute.

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

See Also

PDO Class

PDO