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

How to handle exceptions in php PDO

PHPz
Release: 2018-12-07 11:33:55
forward
1454 people have browsed it

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 = &#39;mysql&#39;;    //选择数据库类型
$host = &#39;localhost&#39;;
$port = &#39;3306&#39;;
$dbname = &#39;test&#39;;
$charset = &#39;utf8&#39;;
$dsn = "$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";

// 2 设置用户名密码
$user = &#39;root&#39;;
$pwd = &#39;&#39;;

// 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!

Related labels:
source:cnblogs.com
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template