zoukankan      html  css  js  c++  java
  • PDO数据库类——对query()和exec()的异常监听

      PDO异常类中,query()和exec()方法中执行失败时,默认情况下,我们是无法知道,具体执行失败的原因。

      那如果我们想要监听异常的话,肿么整呢?

      只要使用setAttribute()方法,即可监听到异常信息

      使用形式为:

      $对象名->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)

      使用案例:

      

     1    try {
     2             $dsn      = 'mysql:dbname=page;host=localhost;port=3306';
     3             $username = 'root';
     4             $password = 'root';
     5 
     6             $DB = new PDO($dsn, $username, $password);
     7             # 设置编码
     8             $DB->query('SET NAMES utf-8');
     9             # 监听exec()和query()异常信息
    10             # 注意:该代码不能放在‘设置编码’之前
    11             $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    12             self::$_PDO = $DB;
    13 
    14         } catch(PDOException $e) {
    15             die('连接失败,错误信息:' .$e->getMessage());
    16         }

      可以看到,对query()和exec()方法的异常监听是放在连接数据库之后(第11行)

      注意:

      1、如果在连接数据库之后,有使用到‘设置编码’(第8行)的话,必须要把setAttribute()写在‘设置编码’之后,否则会报错

      2、setAttribute()必须搭配try+catch异常一起使用!!!!

      以上

      END

  • 相关阅读:
    python 参数化之读取写入yaml文件
    python实现对列表进行模糊查询
    通过UI自动化获取登录cookie,进行接口自动化测试
    Node.js初学
    Jquery 滚动到指定容器的位置,一行解决
    代码神兽护体
    React井字棋改进需求实现
    工作流开发流程
    call、apply和bind的学习
    call、apply和bind的学习
  • 原文地址:https://www.cnblogs.com/finalanddistance/p/9559755.html
Copyright © 2011-2022 走看看