Method 2 of error handling in PDO - errorInfo() method
Method 2 of error handling in PDO - errorInfo() method
PDOStatement::errorInfo — Obtain extended error information related to the last statement handle operation (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)!
In the previous article "Error handling method in PDO one - errorCode() method" we introduced the first method of error handling in PDO. You can read it in the previous article After reviewing this article, we will introduce the second method of error handling in PDO~
errorInfo() method is used to obtain information errors that occur when operating database handles. The syntax format of this method is as follows :
array PDOStatement::errorInfo(void)
PDOStatement::errorInfo() Returns an array of error information about the last operation performed by the statement handle. The array contains the following fields:
Element | Message |
0 | SQLSTATE Error code (a 5-letter or numeric identifier defined in the ANSI SQL standard). |
1 | Specific driver error code. |
2 | Specific driver error information. |
Complete the data query operation through the query() method in PDO, and complete the loop output of the data through the foreach statement. Use an incorrect data when defining the SQL statement. table, and return error information through the errorInfo() method. The specific implementation steps are as follows:
Create a php file, first connect to the MySQL database through PDO, then execute the query statement through the query() method, and then through errorInfo() method to obtain error information, and finally complete the loop output of data through the foreach statement. The specific implementation code is as follows:
<?php header("Content-Type:text/html; charset=utf-8"); //设置页面的编码格式 $dbms = "mysql"; // 数据库的类型 $dbName ="php_cn"; //使用的数据库名称 $user = "root"; //使用的数据库用户名 $pwd = "root"; //使用的数据库密码 $host = "localhost"; //使用的主机名称 $dsn = "$dbms:host=$host;dbname=$dbName"; try{ $pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo $query="select * from user_12";//需要执行的sql语句 $res=$pdo->query($query);//准备查询语句 print_r($pdo->errorInfo()); ?> <table border="1" width="500"> <tr> <td height="22" align="center" valign="middle">id</td> <td height="22" align="center" valign="middle">用户名</td> <td height="22" align="center" valign="middle">密码</td> </tr> <?php foreach ($res as $items){ ?> <tr> <td height="22" align="center" valign="middle"><?php echo $items["id"];?></td> <td height="22" align="center" valign="middle"><?php echo $items["username"];?></td> <td height="22" align="center" valign="middle"><?php echo $items["password"];?></td> </tr> <?php } }catch(PDOException $e){ die("Error!:".$e->getMessage().'<br>'); } ?> </table>
Note:
In the above code, when defining the SELECT query statement, we deliberately used the wrong data table name user_12 (the correct data table name is: user). This is written for testing!
The output result is shown in the figure below:
We will introduce all the two methods of error handling in PDO here. That's it. I believe that everyone has a certain understanding of error handling in PDO. Those who haven't understood it can review it again. In the next article, we will continue to introduce the transaction processing of PDO to you. For details, please read "PDO Detailed introduction to transaction processing》!
The above is the detailed content of Method 2 of error handling in PDO - errorInfo() method. 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

AI Hentai Generator
Generate AI Hentai for free.

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



Use middleware to improve error handling in Go functions: Introducing the concept of middleware, which can intercept function calls and execute specific logic. Create error handling middleware that wraps error handling logic in a custom function. Use middleware to wrap handler functions so that error handling logic is performed before the function is called. Returns the appropriate error code based on the error type, улучшениеобработкиошибоквфункциях Goспомощьюпромежуточногопрограммногообеспечения.Оно позволяетнамсосредоточитьсянаобработкеошибо

In C++, exception handling handles errors gracefully through try-catch blocks. Common exception types include runtime errors, logic errors, and out-of-bounds errors. Take file opening error handling as an example. When the program fails to open a file, it will throw an exception and print the error message and return the error code through the catch block, thereby handling the error without terminating the program. Exception handling provides advantages such as centralization of error handling, error propagation, and code robustness.

Error handling and logging in C++ class design include: Exception handling: catching and handling exceptions, using custom exception classes to provide specific error information. Error code: Use an integer or enumeration to represent the error condition and return it in the return value. Assertion: Verify pre- and post-conditions, and throw an exception if they are not met. C++ library logging: basic logging using std::cerr and std::clog. External logging libraries: Integrate third-party libraries for advanced features such as level filtering and log file rotation. Custom log class: Create your own log class, abstract the underlying mechanism, and provide a common interface to record different levels of information.

The best error handling tools and libraries in PHP include: Built-in methods: set_error_handler() and error_get_last() Third-party toolkits: Whoops (debugging and error formatting) Third-party services: Sentry (error reporting and monitoring) Third-party libraries: PHP-error-handler (custom error logging and stack traces) and Monolog (error logging handler)

In Go functions, asynchronous error handling uses error channels to asynchronously pass errors from goroutines. The specific steps are as follows: Create an error channel. Start a goroutine to perform operations and send errors asynchronously. Use a select statement to receive errors from the channel. Handle errors asynchronously, such as printing or logging error messages. This approach improves the performance and scalability of concurrent code because error handling does not block the calling thread and execution can be canceled.

Best practices for error handling in Go include: using the error type, always returning an error, checking for errors, using multi-value returns, using sentinel errors, and using error wrappers. Practical example: In the HTTP request handler, if ReadDataFromDatabase returns an error, return a 500 error response.

In Golang, error wrappers allow you to create new errors by appending contextual information to the original error. This can be used to unify the types of errors thrown by different libraries or components, simplifying debugging and error handling. The steps are as follows: Use the errors.Wrap function to wrap the original errors into new errors. The new error contains contextual information from the original error. Use fmt.Printf to output wrapped errors, providing more context and actionability. When handling different types of errors, use the errors.Wrap function to unify the error types.

In Go function unit testing, there are two main strategies for error handling: 1. Represent the error as a specific value of the error type, which is used to assert the expected value; 2. Use channels to pass errors to the test function, which is suitable for testing concurrent code. In a practical case, the error value strategy is used to ensure that the function returns 0 for negative input.
