php PDO如何进行异常处理

PHPz
Libérer: 2018-12-07 11:33:55
avant
1415 Les gens l'ont consulté

PDO如何进行异常处理?本篇文章给大家带来的内容是介绍PDO的三种处理错误的方式,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

PDO提供了三种处理错误的方式

PDO::ERRMODE_SILENT:静默模式(默认)

PDO::ERRMODE_WARNING:警告模式

PDO::ERRMODE_EXCEPTION:异常模式

示例:

<?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/>";
}
Copier après la connexion

注意:在PDO中进行异常处理不需要实例化异常类并抛出异常,因为我们在第5步已经把PDO修改为异常模式:

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
Copier après la connexion

运行结果:正常显示没有异常!

把监听代码块故意写错,看看是否抛出异常,抛出的异常是不是我们想要的!

//监听
    $sql = "select * from pdo111";  //把 pdo 错改成 pdo111
Copier après la connexion

结果:

抛出异常信息,说明异常处理成功! 

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助,更多相关视频推荐:php教程

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!