zoukankan      html  css  js  c++  java
  • 跟着百度学PHP[14]-PDO的错误处理模式&PDO执行SQL

    我们在使用PDO去执行sql语句的时候并不会报错.如下案例所示:

    <?php 
    try {
      //$pdo = new pdo("mysql:host=主机;port=端口;dbname=数据库","数据库名","密码");
    $pdo = new pdo("mysql:host=localhost;port=3306;dbname=test","root",""); } catch (PDOException $e) { echo $e->getmessage(); } echo $pdo->exec("insert into aaaa values(aaa)");//此处sql语句故意写错。 ?>

    但返回的结果是一篇空白,也就是说sql语句执行错误了我们并不知道,这样是不行的,极大的影响了工作。那么这时候我们就需要自己写一个错误让他来报错。

    我们需要借助$pdo->errorcode以及$pdo->errorinfo

    <?php 
    try{
        $pdo = new pdo("mysql:host=localhost;port=3306;dbname=test","root","");
    }catch(PDOException $e){
        echo $e->getmessage();
    }
        echo "PDO对象创建成功.<br />";
        $sql = $pdo -> exec("insert inssssto users(gold,user,password) values(7,'hello','world')");
        if(!$sql){
            echo $pdo->errorcode();
            echo "<br />";
            print_r($pdo->errorinfo());
            exit;
        }
        echo "sql语句执行成功。";
     ?>

    显示效果如下图所示:

    sql语句刻意写错了的。当然了我们也可以使用try catch

    <?php 
    try{
        $pdo = new pdo("mysql:host=localhost;port=3306;dbname=test","root","");
    }catch(PDOException $e){
        echo $e->getmessage();
    }
        echo "PDO对象创建成功.<br />";
        $sql = $pdo -> exec("insert inssssto users(gold,user,password) values(7,'hello','world')");
        if(!$sql){
            echo $pdo->errorcode();
            echo "<br />";
            print_r($pdo->errorinfo());
            exit;
        }
        echo "sql语句执行成功。";
        
     ?>
    demo

    PDO执行sql语句:

     其实上面的案例当中已经涉及,就是exec,但还有一个为:query。

    二者的差异:

        Exec用来处理非结果集的  比如insert update create等 且该还返回影响行数.

        Query 用来处理结果集的  比如select desc show等.

     但其实这两种都不是常用的语句。因为还有比query和exec更好的。详情可看:http://www.cnblogs.com/xishaonian/p/6428744.html

  • 相关阅读:
    大道至简读后感
    CodeWarrior10 如何复制Workspace配置到另一个workspace
    CCS 6新建文件自动生成注释
    C语言之标准头文件模板
    C语言之标准源文件模板
    正确理解c和c ++的复杂类型声明
    各种滤波算法的介绍及其实现
    函数的前部注释
    关于C语言头文件写法的探讨
    02_温湿度传感器
  • 原文地址:https://www.cnblogs.com/xishaonian/p/6424962.html
Copyright © 2011-2022 走看看