zoukankan      html  css  js  c++  java
  • 夺命雷公狗---PDO NO:4 的错误处理模式

    PDO::ATTR_ERRMODE=>错误处理模式:(3)

    PDO::ERRMODE_SILENT:不报错误(忽略)(0)

    PDO::ERRMODE_WARNING:以警告的方式报错(1)

    PDO::ERRMODE_EXCEPTION:以异常的方式报错(推荐使用)(2)

    设置方式:2种

    在构造时初始化错误模式

    通过pdo对象的setAttribute()方法设置。

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

    面向过程 $con->errorCode():SQL语句错误代码

    $con->errorInfo():错误信息

    面向对象

    捕获PDOException异常对象

    示例1:

    // 1. 默认的错误模式(不提示, 我们看到到问题. 被忽视!)

    <?php
    try{
    $pdo=new PDO(“mysql:host=localhost;dbname=xsphp”,’root’,”);
    }catch(PDOException $e){
    echo “数据库连接失败:”.$e->getMessage();
    exit;
    }
    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
    echo $pdo->getAttribute(PDO::ATTR_ERRMODE).'<br/>';
    $affected_rows=@$pdo->exec(“delete from helloworld”);
    if(!$affected_rows){
    echo $pdo->errorCode();
    echo “<br/>”;
    print_r($pdo->errorinfo());
    exit;
    }
    echo ‘OK';

    示例2:

    //1. 默认的错误模式(不提示, 我们看到到问题. 被忽视!)
    //警告模式 PDO::ERRMODE_WARNING
    //异常的模式 PDO::ERRMODE_EXCEPTION
    try{
    $pdo=new PDO(“mysql:host=localhost;dbname=xsphp”,’root’,”);
    }catch(PDOException $e){
    echo “数据库连接失败:”.$e->getMessage();
    exit;
    }
    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    echo $pdo->getAttribute(PDO::ATTR_ERRMODE).'<br/>';
    try{
    $affected_rows=$pdo->exec(“delete from helloworld”);
    }catch(PDOException $e){
    echo “NO”.$e->getMessage();
    }
    echo ‘OK';

    示例3:

    //1. 默认的错误模式(不提示, 我们看到到问题. 被忽视!)
    //警告模式 PDO::ERRMODE_WARNING
    //异常的模式 PDO::ERRMODE_EXCEPTION
     
    try{
    $pdo=new PDO(“mysql:host=localhost;dbname=xsphp”,’root’,”);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }catch(PDOException $e){
    echo “数据库连接失败:”.$e->getMessage();
    exit;
    }
    try{
    //使用PDO中的方法执行语句
    }catch(PDOException $e){
    echo “错误:”.$e->getMessage();
    }
  • 相关阅读:
    看看优酷是怎么做网络投票的?
    CURL的学习和应用
    PHP生成word的三种方式
    感谢
    网站后台权限设计
    ORACLE 11g 导出数据
    第一份blog
    查看tomcat的内存情况
    执行sshadd时出现Could not open a connection to your authentication agent
    读取SSDT当前函数地址
  • 原文地址:https://www.cnblogs.com/leigood/p/5032751.html
Copyright © 2011-2022 走看看