• 技术文章 >后端开发 >PHP问题

    php pdo 错误处理怎么设置

    藏色散人藏色散人2022-10-19 09:59:18原创225

    php pdo错误处理设置方法:1、设置“PDO::ERRMODE_SILENT”,然后以“$pdo->errorInfo()”的形式获取错误信息;2、设置“PDO::ERRMODE_WARNING”,查看“E_WARNING”错误;3、设置“PDO::ERRMODE_EXCEPTION”,然后以“try{}cath(){}”输出错误信息。

    php入门到就业线上直播课:进入学习

    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。

    php PDO异常处理详解

    异常处理:

    PHP:默认为直接报错

    MYSQL:默认为静默模式,错就错,不报错

    PDO:默认为静默模式,错就错,不报错

    以前,当PHP碰到错误的时候,会直接报错,错误处理会变得相当麻烦。后来,当错误发生之后,会将错误信息不再直接输出,放到一个类的对象里(PDOException)

    pdo异常处理设置:

    设置PDO::ATTR_ERRMODE ,有以下三个值:

    PDO::ERRMODE_SILENT: 默认模式,不主动报错,需要主动以 $pdo->errorInfo()的形式获取错误信息。

    PDO::ERRMODE_WARNING: 引发 E_WARNING 错误,主动报错

    PDO::ERRMODE_EXCEPTION: 主动抛出 exceptions 异常,需要以try{}cath(){}输出错误信息。

    实例:

    方式一:

    <?php
    //默认是不提示的 需要用 errorCode() errorInfo();
    try{
      $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root","");
      //下面这句是默认设置,有无均可
      $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_SILENT);
    }catch(PDOException $e){
      die("数据库连接失败".$e->getMessage());
    }
    $sql = "insert into stuu values(null,'jike','w',55)";
    $res = $pdo->exec($sql);
    if($res){
      echo "OK";
    }else{
      echo $pdo->errorCode();
      print_r($pdo->errorInfo());
    }

    方式二:

    <?php
    try{
      $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root","");
      //主动以警告的形式报错
      $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
    }catch(PDOException $e){
      die("数据库连接失败".$e->getMessage());
    }
    $sql = "insert into stuu values(null,'jike','w',55)";
    //若有错误直接在浏览器页面中显示错误信息
    $res = $pdo->exec($sql);

    方式三:

    <?php
    try{
      $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root","");
      //主动抛出异常
      $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION );
    }catch(PDOException $e){
      die("数据库连接失败".$e->getMessage());
    }
    $sql = "insert into stuu values(null,'jike','w',55)";
    //用try{}catch(){}抓取异常
    try{
      $res = $pdo->exec($sql);
    }catch(PDOException $e){
      echo $e->getMessage();
    }

    推荐学习:《PHP视频教程

    以上就是php pdo 错误处理怎么设置的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:pdo php
    上一篇:php函数怎么实现加减乘除 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 深入了解PHP中PDO的基本使用• php封装pdo实例以及pdo长连接的优缺点• php中值得收藏的PDO对象安装配置与使用• php7 找不到pdo扩展怎么办• 怎么更改php.ini文件支持pdo抽象层
    1/1

    PHP中文网