• 夺命雷公狗---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();
    }
  • 相关阅读:
    VBS发送邮件-1
    docker命令
    NLP | 自然语言处理
    windows: Python安装scipy,scikit-image时提示"no lapack/blas resources found"的解决方法
    Sense2vec with spaCy and Gensim
    python 去停用词
    nohup command > myout.file 2>&1 &
    NLTK vs SKLearn vs Gensim vs TextBlob vs spaCy
    Gensim进阶教程:训练word2vec与doc2vec模型
    Gensim入门教程
  • 原文地址:https://www.cnblogs.com/leigood/p/5032751.html
Copyright © 2020-2023  润新知