• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php实现的PDO异常处理操作分析

    本文实例讲述了php实现的PDO异常处理操作。分享给大家供大家参考,具体如下:

    异常处理:

    PHP:默认为直接报错

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

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

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

    要使用PDO异常处理,必须满足两个条件

    1、需要将错误处理模式变成异常模式

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

    2、所有可能出错的语句都必须放到错误捕捉语句块里

    try{
       //错误捕捉语句块
       //凡是有可能出现错误的语句都放在这
       //一旦出错会立即进入catch语句,把所有的错误信息放到PDOexception $e里面
    }catch(PDOExecption $e){
       //将错误信息进行处理
    }
    
    

    例如:

    try{
      //连接认证
      $pdo = new PDO('mysql:host=localhost;dbname=project','root','root');
      //设置错误处理模式
      $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
      //组织SQL
      $sql= "update pro_student set s_age = 123 where s_id = 20";
      $res = $pdo->exec($sql);
    }catch(PDOException $e){
      //var_dump($e);
      //告诉用户在哪个文件的哪一行出现了什么样的错误
      echo '出现异常:br/>';
      echo '错误出现的位置:' . $e->getFile() . $e->getLine() . 'br/>';
      echo '错误原因:' . $e->getMessage();
      var_dump($e->getTrace());//获取完整的错误数据
      exit;
    }
    
    

    有的时候,如果数据执行没有任何错误,但是就是不符合指定的业务逻辑。一旦出现业务逻辑错误,异常是没有办法捕捉(异常只捕捉语法错误),一般认为的去通过判断语句的执行(结果),主动抛出异常,从而结束错误程序的运行。

    语法:throw new PDOException;

    $sql = "select * from pro_student where s_id = 20";
    $stmt = $pdo->query($sql);
    if($stmt->fetchColumn(4) > 100) throw new PDOException; //抛出异常,立马跳转到catch语句块
    else{
      echo '没有问题';
    }
    
    

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库技巧总结》、《php+Oracle数据库程序设计技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHP异常类及异常处理操作实例详解
    • 关于ThinkPHP中的异常处理详解
    • 基于PHP7错误处理与异常处理方法(详解)
    • PHP中常见的错误与异常处理总结大全
    • PHP异常处理定义与使用方法分析
    • php异常处理捕获错误整理
    上一篇:CI框架网页缓存简单用法分析
    下一篇:php PDO属性设置与操作方法分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    php实现的PDO异常处理操作分析 php,实现,的,PDO,异常,处理,