Hướng dẫn php pdo sqlsrv timeout

1 Answer

Sorted by: Reset to default

7

Try this (http://php.net/manual/de/ref.pdo-sqlsrv.connection.php):

$pdo = new \PDO("sqlsrv:Server=server;Database=dbname;LoginTimeout=5", 'username', 'password');

or this (https://technet.microsoft.com/en-us/library/ff628164(v=sql.105).aspx):

$pdo->setAttribute(\PDO::SQLSRV_ATTR_QUERY_TIMEOUT, 5);

But second solutions should work for normal query only. Hopefully, one of these solutions will help you.

answered Mar 23, 2016 at 13:14

kbakba

4,1102 gold badges14 silver badges24 bronze badges

1

  • Working perfectly! Thanks!

    – lingo

    Mar 27, 2016 at 1:27

Add a comment  | 

Your Answer

Sign up or log in

Sign up using Google

Sign up using Facebook

Sign up using Email and Password

Post as a guest

Name

Email

Required, but never shown

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged phpmysqlpdosqlsrv or ask your own question.

Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

PDOStatement::setAttribute

  • Article
  • 09/09/2022
  • 2 minutes to read

In this article

Download PHP driver

Sets an attribute value, either a predefined PDO attribute or a custom driver attribute.

Syntax

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

Parameters

$attribute: An integer, one of the PDO::ATTR_* or PDO::SQLSRV_ATTR_* constants. See the Remarks section for the list of available attributes.

$value: The (mixed) value to be set for the specified $attribute.

Return Value

TRUE on success, FALSE otherwise.

Remarks

The following table contains the list of available attributes:

AttributeValuesDescription
PDO::SQLSRV_ATTR_CLIENT_BUFFER_MAX_KB_SIZE 1 to the PHP memory limit. Configures the size of the buffer that holds the result set for a client-side cursor.

The default is 10,240 KB (10 MB).

For more information about client-side cursors, see Cursor Types (PDO_SQLSRV Driver).

PDO::SQLSRV_ATTR_DATA_CLASSIFICATION true or false Specifies whether to retrieve data classification metadata when calling PDOStatement::getColumnMeta. The default is false.
PDO::SQLSRV_ATTR_DECIMAL_PLACES 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 connection level. If so, then this option overrides the connection level option.

For more information, see Formatting Decimal Strings and Money Values (PDO_SQLSRV Driver).

PDO::SQLSRV_ATTR_ENCODING Integer

PDO::SQLSRV_ENCODING_UTF8 (Default)

PDO::SQLSRV_ENCODING_SYSTEM

PDO::SQLSRV_ENCODING_BINARY

Sets the character set encoding to be used by the driver to communicate with the server.
PDO::SQLSRV_ATTR_FETCHES_DATETIME_TYPE 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 connection level. If so, then this option overrides the connection level option.

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 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 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 connection level. If so, then this option overrides the connection level option.

For more information, see Formatting Decimal Strings and Money Values (PDO_SQLSRV Driver).

PDO::SQLSRV_ATTR_QUERY_TIMEOUT Integer Sets the query timeout in seconds.

By default, the driver will wait indefinitely for results. Negative numbers are not allowed.

0 means no timeout.

Example

false )  );  
  
$stmt = $conn->prepare('SELECT * FROM Person.ContactType');  
  
echo $stmt->getAttribute( constant( "PDO::ATTR_CURSOR" ) );  
  
echo "\n";  
  
$stmt->setAttribute(PDO::SQLSRV_ATTR_QUERY_TIMEOUT, 2);  
echo $stmt->getAttribute( constant( "PDO::SQLSRV_ATTR_QUERY_TIMEOUT" ) );  
?>  

See Also

PDOStatement Class

PDO

Feedback

Submit and view feedback for