首页 > 电脑专区 > 电脑教程 >

pdo的错误处理

来源:互联网 2023-02-20 23:42:34 305

pdo的错误处理vEO办公区 - 实用经验教程分享!

工具/原料

  • pdo的错误处理

模式1:默认模式(常规错误模式)

  • 1

    比如,pdo对象执行如下“错误sql语句”,vEO办公区 - 实用经验教程分享!

    $re1 = $pdo->exec(“deleteeeefrom XXX where id = 12”);vEO办公区 - 实用经验教程分享!

    则根据我们之前对pdo的了解,此时返回的是false——表示执行错误。vEO办公区 - 实用经验教程分享!

    但此时,有怎么对其进行“错误处理”。vEO办公区 - 实用经验教程分享!

    vEO办公区 - 实用经验教程分享!

    我们来对比之前的纯mysql函数:vEO办公区 - 实用经验教程分享!

    $sql = “deleteddddd from YYYY where id = 12”;vEO办公区 - 实用经验教程分享!

    $result = mysql_query( $sql );vEO办公区 - 实用经验教程分享!

    if( $result === false ){ //错误时的处理:vEO办公区 - 实用经验教程分享!

    echo “发生错误:”. mysql_error();vEO办公区 - 实用经验教程分享!

    }vEO办公区 - 实用经验教程分享!

    else{vEO办公区 - 实用经验教程分享!

    //正确时 。。。。vEO办公区 - 实用经验教程分享!

    }vEO办公区 - 实用经验教程分享!

    那么,pdo的错误处理,默认跟该形式几乎一样!vEO办公区 - 实用经验教程分享!

    类似这样:vEO办公区 - 实用经验教程分享!

    if( $re1=== false ){ //错误时的处理:vEO办公区 - 实用经验教程分享!

    echo “错误代号:”. $pdo->errorcode(); //errorcode()就是一个数字(代号)vEO办公区 - 实用经验教程分享!

    echo “错误信息:”. $pdo->errorinfo(); //errorinfo()的结果是一个数组!vEO办公区 - 实用经验教程分享!

    //实际应该这样:vEO办公区 - 实用经验教程分享!

    $err = $pdo->errorinfo();vEO办公区 - 实用经验教程分享!

    echo “错误信息:”. $err[2];vEO办公区 - 实用经验教程分享!

    }vEO办公区 - 实用经验教程分享!

    else{vEO办公区 - 实用经验教程分享!

    //正确时 。。。。vEO办公区 - 实用经验教程分享!

    }vEO办公区 - 实用经验教程分享!

    举例:vEO办公区 - 实用经验教程分享!

    pdo的错误处理vEO办公区 - 实用经验教程分享!

  • 1本页面未经授权抓取自百度经验
  • 模式2:异常模式

  • 1

    什么叫做异常?异常就是不正常。对编程的人来说,凡是“超出程序员的逻辑预计”的结果,都是异常vEO办公区 - 实用经验教程分享!

    ——其实,异常,就是“错误”的另一个说法——是在面向对象领域的说法。vEO办公区 - 实用经验教程分享!

    因为,一个错误发生,其实也可以说生成了一个“异常对象”——系统内部有一个“异常类”。vEO办公区 - 实用经验教程分享!

    vEO办公区 - 实用经验教程分享!

    要想pdo发生错误时,以异常模式进行处理,得先“设置”pdo错误处理模式为“异常模式”,如下:vEO办公区 - 实用经验教程分享!

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);vEO办公区 - 实用经验教程分享!

    然后,异常模式的处理语法为:vEO办公区 - 实用经验教程分享!

    try{vEO办公区 - 实用经验教程分享!

    $re1 = $pdo->query( “sql语句”);vEO办公区 - 实用经验教程分享!

    var_dump($re1);vEO办公区 - 实用经验教程分享!

    }vEO办公区 - 实用经验教程分享!

    catch( PDOEXCEPTION $e ){ //PDOEXCEPTION是一个“内部类”,表示pdo的异常类vEO办公区 - 实用经验教程分享!

    //$e是一个该类的对象。vEO办公区 - 实用经验教程分享!

    echo “发生错误:”vEO办公区 - 实用经验教程分享!

    echo “错误代号”. $e->getcode() ;vEO办公区 - 实用经验教程分享!

    echo “错误内容”. $e->getmessage();vEO办公区 - 实用经验教程分享!

    }vEO办公区 - 实用经验教程分享!

    vEO办公区 - 实用经验教程分享!

    总体解释:vEO办公区 - 实用经验教程分享!

    程序会“尝试执行”try中语句:vEO办公区 - 实用经验教程分享!

    如果没有发生错误,则就完全执行完该段代码。vEO办公区 - 实用经验教程分享!

    如果发生错误,则程序在try中立即停止,并进入catch部分执行其中的代码,此时并且会自动生成一个“异常对象”($e)vEO办公区 - 实用经验教程分享!

    vEO办公区 - 实用经验教程分享!

    举例:vEO办公区 - 实用经验教程分享!

    什么叫做异常?异常就是不正常。对编程的人来说,凡是“超出程序员的逻辑预计”的结果,都是异常vEO办公区 - 实用经验教程分享!

    ——其实,异常,就是“错误”的另一个说法——是在面向对象领域的说法。vEO办公区 - 实用经验教程分享!

    因为,一个错误发生,其实也可以说生成了一个“异常对象”——系统内部有一个“异常类”。vEO办公区 - 实用经验教程分享!

    vEO办公区 - 实用经验教程分享!

    要想pdo发生错误时,以异常模式进行处理,得先“设置”pdo错误处理模式为“异常模式”,如下:vEO办公区 - 实用经验教程分享!

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);vEO办公区 - 实用经验教程分享!

    然后,异常模式的处理语法为:vEO办公区 - 实用经验教程分享!

    try{vEO办公区 - 实用经验教程分享!

    $re1 = $pdo->query( “sql语句”);vEO办公区 - 实用经验教程分享!

    var_dump($re1);vEO办公区 - 实用经验教程分享!

    }vEO办公区 - 实用经验教程分享!

    catch( PDOEXCEPTION $e ){ //PDOEXCEPTION是一个“内部类”,表示pdo的异常类vEO办公区 - 实用经验教程分享!

    //$e是一个该类的对象。vEO办公区 - 实用经验教程分享!

    echo “发生错误:”vEO办公区 - 实用经验教程分享!

    echo “错误代号”. $e->getcode() ;vEO办公区 - 实用经验教程分享!

    echo “错误内容”. $e->getmessage();vEO办公区 - 实用经验教程分享!

    }vEO办公区 - 实用经验教程分享!

    vEO办公区 - 实用经验教程分享!

    总体解释:vEO办公区 - 实用经验教程分享!

    程序会“尝试执行”try中语句:vEO办公区 - 实用经验教程分享!

    如果没有发生错误,则就完全执行完该段代码。vEO办公区 - 实用经验教程分享!

    如果发生错误,则程序在try中立即停止,并进入catch部分执行其中的代码,此时并且会自动生成一个“异常对象”($e)vEO办公区 - 实用经验教程分享!

    vEO办公区 - 实用经验教程分享!

    举例:vEO办公区 - 实用经验教程分享!

    pdo的错误处理vEO办公区 - 实用经验教程分享!

  • 2

    结果为:vEO办公区 - 实用经验教程分享!

    pdo的错误处理vEO办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!vEO办公区 - 实用经验教程分享!


    标签: 操作系统错误处理

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码