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

  • 相关阅读:
    k8s 1.10 部署springcloud
    TF-IDF关键词提取步骤
    k8s 离线安装
    JWT对SpringCloud进行系统认证和服务鉴权
    centos7 安装 docker-registry
    Docker安装elasticsearch-head监控ES步骤
    tengine 配置应用防火墙
    elasticsearch6.1.3 集成分词器
    centos7 nginx tengine 安装
    elk 搭建
  • 原文地址:https://www.cnblogs.com/xishaonian/p/6424962.html
Copyright © 2011-2022 走看看