Home>Article>Backend Development> How to use php setattribute() method

How to use php setattribute() method

David Beckham
David Beckham Original
2021-06-24 18:09:35 2523browse

In PHP, the setAttribute() method can be used to set the attributes of the database handle. The syntax format is "PDO::setAttribute(attribute, value)"; the parameter attribute specifies the specific attribute name of the PDO object, and the value is Assign a value to this property.

How to use php setattribute() method

The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer

If the PDO object is not being constructed when it is created, The attribute options set by the last parameter in the method can be set and obtained through the setAttribute() and getAttribute() methods in the PDO object after the object is created.

Among them, thesetAttribute() method can be used to set the attributes of the database handle. The syntax format is as follows:

PDO::setAttribute(int $attribute, mixed $value)

This method requires two parameters, the first parameter $ attribute provides the specific attribute name of the PDO object, and the second parameter $value assigns a value to the specified attribute. Some of the available common attribute names and values that can be used are listed below:

  • PDO::ATTR_CASE: Force column names to the specified case;

    • PDO::CASE_LOWER: Force column names to lowercase;

    • PDO::CASE_NATURAL: Keep column names returned by the database driver;

    • PDO::CASE_UPPER: Force column names to be uppercase.

  • PDO::ATTR_ERRMODE: Error reporting;

    • PDO::ERRMODE_SILENT: Only set error code;

    • PDO::ERRMODE_WARNING: Raises E_WARNING error;

    • PDO::ERRMODE_EXCEPTION: Throws exceptions.

  • PDO::ATTR_ORACLE_NULLS: (Available in all drivers, not limited to Oracle) Convert NULL and empty strings;

    • PDO::NULL_NATURAL: No conversion;

    • PDO::NULL_EMPTY_STRING: Convert the empty string to NULL;

    • PDO ::NULL_TO_STRING: Convert NULL to an empty string.

  • PDO::ATTR_STRINGIFY_FETCHES: Convert the value to a string when extracting;

  • PDO::ATTR_STATEMENT_CLASS: Sets a user-supplied statement class derived from PDOStatement. Cannot be used with persistent PDO instances. Requires array(string class name, array(mixed constructor parameter));

  • PDO::ATTR_TIMEOUT: Specifies the number of seconds for timeout. There may be differences between different drivers. For example, SQLite will give up acquiring a writable lock after waiting for this value, but other drivers may interpret this value as a connection or read timeout interval;

  • PDO::ATTR_AUTOCOMMIT: (Available in OCI, Firebird and MySQL) Whether to automatically commit each individual statement;

  • PDO::ATTR_EMULATE_PREPARES: Enable or Disables emulation of prepared statements. Some drivers have no or limited support for local preprocessing. Use this setting to force PDO to always emulate prepared statements, or to try to use local prepared statements. If the driver cannot successfully prepare the current query, it will always fall back to emulating prepared statements;

  • PDO::MYSQL_ATTR_USE_BUFFERED_QUERY: (available in MySQL) Use buffered queries;

  • PDO::ATTR_DEFAULT_FETCH_MODE: Set the default extraction mode.

Example: Use the setAttribute() method to set the attributes of the database handle

setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER); echo 'PDO::ATTR_CASE属性的值为:'.$pdo -> getAttribute(PDO::ATTR_CASE); $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER); echo '
PDO::ATTR_CASE属性的值为:'.$pdo -> getAttribute(PDO::ATTR_CASE); $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL); echo '
PDO::ATTR_CASE属性的值为:'.$pdo -> getAttribute(PDO::ATTR_CASE); ?>

Running results:

PDO::ATTR_CASE属性的值为:1 PDO::ATTR_CASE属性的值为:2 PDO::ATTR_CASE属性的值为:0

Recommended learning:《PHP video tutorial

The above is the detailed content of How to use php setattribute() method. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn