Home Backend Development PHP Tutorial How to handle exceptions in php PDO

How to handle exceptions in php PDO

Jul 30, 2016 pm 01:29 PM
pdo Exception handling

How does PDO handle exceptions? The content of this article is to introduce three ways of handling errors in PDO. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

PDO provides three ways to handle errors

PDO::ERRMODE_SILENT: silent mode (default)

PDO::ERRMODE_WARNING: warning mode

PDO::ERRMODE_EXC EPTION:Exception Pattern

Example:

<?php 

/**
* 利用PDO对象实现异常处理操作
*/

echo "<meta charset=utf-8>";

//PDO类的实例化

// 1 设置数据源相关参数
$dbms = 'mysql';    //选择数据库类型
$host = 'localhost';
$port = '3306';
$dbname = 'test';
$charset = 'utf8';
$dsn = "$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";

// 2 设置用户名密码
$user = 'root';
$pwd = '';

// 3 实例化PDO类
$pdo = new PDO($dsn,$user,$pwd);

// 4 设置PDO相关属性
$pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER);

// 5 修改PDO为异常模式
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

try{      //监听
    $sql = "select * from pdo";
    $stmt = $pdo->query($sql);
}catch(PDOException $e){
    //捕获异常
    echo "错误信息为:".$e->getmessage()."<br/>";
    echo "错误代码为:".$e->getCode()."<br/>";
    echo "错误文件为:".$e->getFile()."<br/>";
    echo "错误行号为:".$e->getLine()."<br/>";
}
Copy after login

Note: ​​Exception handling in PDO does not require instantiating the exception class and throwing exceptions, because we have modified PDO to exception mode in step 5:

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
Copy after login

Running results : Normal display with no abnormalities!

Write the monitoring code block deliberately wrong to see if an exception is thrown and whether the exception thrown is what we want!

//监听
    $sql = "select * from pdo111";  //把 pdo 错改成 pdo111
Copy after login

Result:

throws an exception message, indicating that the exception handling is successful!

Summary: The above is the entire content of this article. I hope it can be helpful to everyone’s learning. More related video recommendations: php tutorial!

Statement of this Website
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

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

C++ function exceptions and multithreading: error handling in concurrent environments C++ function exceptions and multithreading: error handling in concurrent environments May 04, 2024 pm 04:42 PM

C++ function exceptions and multithreading: error handling in concurrent environments

How does C++ exception handling support custom error handling routines? How does C++ exception handling support custom error handling routines? Jun 05, 2024 pm 12:13 PM

How does C++ exception handling support custom error handling routines?

What is the relationship between recursive calls and exception handling in Java functions? What is the relationship between recursive calls and exception handling in Java functions? May 03, 2024 pm 06:12 PM

What is the relationship between recursive calls and exception handling in Java functions?

Exception handling in C++ technology: How to handle exceptions correctly in a multi-threaded environment? Exception handling in C++ technology: How to handle exceptions correctly in a multi-threaded environment? May 09, 2024 pm 12:36 PM

Exception handling in C++ technology: How to handle exceptions correctly in a multi-threaded environment?

How to handle exceptions in C++ Lambda expressions? How to handle exceptions in C++ Lambda expressions? Jun 03, 2024 pm 03:01 PM

How to handle exceptions in C++ Lambda expressions?

PHP exception handling: understand system behavior through exception tracking PHP exception handling: understand system behavior through exception tracking Jun 05, 2024 pm 07:57 PM

PHP exception handling: understand system behavior through exception tracking

How to handle cross-thread C++ exceptions? How to handle cross-thread C++ exceptions? Jun 06, 2024 am 10:44 AM

How to handle cross-thread C++ exceptions?

Exception handling in C++ technology: How to optimize the performance of exception handling? Exception handling in C++ technology: How to optimize the performance of exception handling? May 09, 2024 am 10:39 AM

Exception handling in C++ technology: How to optimize the performance of exception handling?

See all articles