• 售前

  • 售后

热门帖子
入门百科

php实现的PDO非常处理惩罚操作分析

[复制链接]
下一站美安好 显示全部楼层 发表于 2021-10-26 13:12:37 |阅读模式 打印 上一主题 下一主题
本文实例报告了php实现的PDO异常处置惩罚操纵。分享给各人供各人参考,具体如下:
异常处置惩罚:
PHP:默以为直接报错
MYSQL:默以为静默模式,错就错,不报错
PDO:默以为静默模式,错就错,不报错
以前,当PHP碰到错误的时间,会直接报错,错误处剖析变得相当麻烦。厥后,当错误发生之后,会将错误信息不再直接输出,放到一个类的对象里(PDOException)
要利用PDO异常处置惩罚,必须满足两个条件
1、需要将错误处置惩罚模式变成异常模式
  1. $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
复制代码
2、所有可能堕落的语句都必须放到错误捕捉语句块里
  1. try{
  2.    //错误捕捉语句块
  3.    //凡是有可能出现错误的语句都放在这
  4.    //一旦出错会立即进入catch语句,把所有的错误信息放到PDOexception $e里面
  5. }catch(PDOExecption $e){
  6.    //将错误信息进行处理
  7. }
复制代码
比方:
  1. 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;}
复制代码
有的时间,假如数据实验没有任何错误,但是就是不符合指定的业务逻辑。一旦出现业务逻辑错误,异常是没有办法捕捉(异常只捕捉语法错误),一般以为的去通过判定语句的实验(结果),自动抛出异常,从而竣事错误步调的运行。
语法:
  1. throw new PDOException;
复制代码
  1. $sql = "select * from pro_student where s_id = 20";
  2. $stmt = $pdo->query($sql);
  3. if($stmt->fetchColumn(4) > 100) throw new PDOException; //抛出异常,立马跳转到catch语句块
  4. else{
  5.   echo '没有问题';
  6. }
复制代码
更多关于PHP干系内容感兴趣的读者可检察本站专题:《PHP基于pdo操纵数据库本领总结》、《php+Oracle数据库步调计划本领总结》、《PHP+MongoDB数据库操纵本领大全》、《php面向对象步调计划入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操纵入门教程》及《php常见数据库操纵本领汇总》
渴望本文所述对各人PHP步调计划有所资助。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作