How to set and obtain PDO attributes in PHP database learning?
In the previous article, I brought you " How to handle errors in PDO for PHP database learning? ", which introduces the relevant knowledge of PDO error handling in PHP in detail. In this article, let's take a look at how to set and obtain PDO attributes in PHP. I hope everyone has to help!
In the previous article we learned about the issues related to PDO error handling in PHP, then let’s learn how to set and obtain PDO attributes. There are many properties in the PDO object that can be used to adjust the behavior of the PDO or obtain the underlying driver state.
If there is no attribute option set in the last parameter in the constructor when creating a PDO object, you can use setAttribute()
and # in the PDO object after the object is created. ##getAttribute() Method to set and get the values of these attributes. Then let us take a look at these two methods together.
<strong>getAttribute()<span style="font-size: 20px;"></span></strong>
Method
getAttribute () The method only needs to provide one parameter, and can pass a specific attribute name representing this parameter. After successful execution, it will return the value specified by the attribute, otherwise it will return NULL. It is easy to understand. Its syntax format is as follows:
PDO::getAttribute(int $attribute)
$attribute is
PDO::ATTR_* One of the constants. There are many constants applied to database connections.
<?php header("Content-Type: text/html;charset=utf-8"); $opt = [PDO::ATTR_PERSISTENT=>TRUE]; try{ $pdo = new PDO('mysql:dbname=test;host=127.0.0.1','root','root',$opt); }catch(PDOException $e){ echo '数据库连接失败:'.$e->getMessage(); exit(); } echo 'PDO 是否关闭自动提交功能:'.$pdo -> getAttribute(PDO::ATTR_AUTOCOMMIT); echo '<br>当前 PDO 的错误处理模式:'.$pdo -> getAttribute(PDO::ATTR_ERRMODE); echo '<br>表字段字符的大小写转换:'.$pdo -> getAttribute(PDO::ATTR_CASE); echo '<br>空字符串转换为 SQL 的 null:'.$pdo -> getAttribute(PDO::ATTR_ORACLE_NULLS); echo '<br>应用程序提前获取数据大小:'.$pdo -> getAttribute(PDO::ATTR_PERSISTENT); ?>
PDO::ATTR_AUTOCOMMIT indicates whether PDO turns off the automatic submission function,
PDO::ATTR_ERRMODE represents the current PDO error handling mode,
PDO::ATTR_CASE represents the case conversion of table field characters,
PDO::ATTR_ORACLE_NULLS It means that the empty string is converted into SQL null,
PDO::ATTR_PERSISTENT means that the application obtains the data size in advance.
PDO::ATTR_CONNECTION_STATUS
Represents unique information related to the connection status.
PDO::ATTR_SERVER_INFO
Represents database-specific server information.
PDO::ATTR_SERVER_VERSION
Represents the database server version number.
PDO::ATTR_CLIENT_VERSION
Represents the database client version number.
<strong>setAttribute()<span style="font-size: 20px;"></span></strong>
Method
setAttribute () The method can be used to set the attributes of the database handle. setAttribute() is slightly more complicated than getAttribute(). Its syntax format is as follows:
PDO::setAttribute(int $attribute, mixed $value)
$attribute provides the specific attribute name of the PDO object, and the second parameter
$value is Assigns a value to this specified property.
PDO::ATTR_CASE means that the column name can be forced to be in the specified case, where PDO::CASE_LOWER means that the column name is forced to be lowercase; PDO::CASE_NATURAL means that the column name returned by the database driver is retained. ;PDO::CASE_UPPER means forcing column names to be uppercase.
PDO::ATTR_ERRMODE represents an error report, where PDO::ERRMODE_SILENT represents only setting the error code; PDO::ERRMODE_WARNING represents causing an E_WARNING error; PDO::ERRMODE_EXCEPTION represents throwing exceptions Exceptions.
PDO::ATTR_ORACLE_NULLS means available in all drivers, not limited to Oracle, converts NULL and empty strings, where PDO::NULL_NATURAL means no conversion; PDO::NULL_EMPTY_STRING It means converting an empty string into NULL; PDO::NULL_TO_STRING means converting NULL into an empty string.
<?php header("Content-Type: text/html;charset=utf-8"); $pdo = new PDO('mysql:dbname=test;host=127.0.0.1','root','root',$opt); $pdo->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 '<br>PDO::ATTR_CASE属性的值为:'.$pdo -> getAttribute(PDO::ATTR_CASE); $pdo->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL); echo '<br>PDO::ATTR_CASE属性的值为:'.$pdo -> getAttribute(PDO::ATTR_CASE); ?>
PDO::ATTR_STRINGIFY_FETCHES
means converting the value into a string when extracting;PDO::ATTR_STATEMENT_CLASS
Represents setting a user-provided statement class derived from PDOStatement. Cannot be used with persistent PDO instances.PDO::ATTR_AUTOCOMMIT
Indicates whether to automatically submit each individual statement. It is available in OCI, Firebird and MySQL.PDO::ATTR_DEFAULT_FETCH_MODE
Indicates setting the default extraction mode.PDO::MYSQL_ATTR_USE_BUFFERED_QUERY
indicates the use of buffered queries, which is available in the MySQL database.
We also need to pay attention to the following: PDO::ATTR_TIMEOUT
Indicates the number of seconds for the specified 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_EMULATE_PREPARES
Indicates enabling or disabling the simulation 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 simulating prepared statements.
If you are interested, you can click on "PHP Video Tutorial" to learn more about PHP knowledge.
The above is the detailed content of How to set and obtain PDO attributes in PHP database learning?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.
