zoukankan      html  css  js  c++  java
  • 使用默认模式-PDO::ERRMODE_SILENT

    在PDO中捕获 SQL 语句错误有三种方案可以选择,根据自己的开发项目和实际情况选择适合的方案来捕获SQL 语句的错误!直线电机原理

    那么我们在前的文章《PDO中执行SQL语句的三种方法》中介绍PDO中执行SQL语句的三种方法,以及在以前的三篇文章《PDO中获取结果集之fetch()方法详解》《PDO中获取结果集之fetchAll()方法详解》《PDO中获取结果集之fetchColumn()方法详解》中介绍了关于PDO中获取结果集的三种方法,那么我们今天给大家介绍关于PDO中捕获SQL语句中的错误的几种方法~!

    今天给大家介绍使用默认模式-PDO::ERRMODE_SILENT。

    在默认模式中设置 PDOStatement 对象的 errorCode数据,但是不进行其他的任何操作。

    下面我们用实例给大家介绍默认模式-PDO::ERRMODE_SILENT的具体使用,具体步骤如下:

    首先创建一个php文件,添加表单,将表单元素提交到本页面,通过 PDO 连接MySQL数据库,通过预处理语句的 prepare()和execute()方法执行 INSERT 添加操作,向数据表中添加数据,并且设置 PDOStatement对象的 errorCode属性,来检测代码中的错误,具体代码如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    <form action="1.php" name="form1" method="post">

        用户名:<input type="text" name="username">

        密码:  <input type="password" name="password">

               <input type="submit" name="Submit" value="提交">

    </form>

    <?php

    header("Content-Type:text/html; charset=utf-8");    //设置页面的编码格式

    if($_POST['username']&&$_POST['password']!=""){

    $name = $_POST['username'];

    $password = $_POST['password'];

    $dbms = "mysql";                                  // 数据库的类型

    $dbName ="php_cn";                                //使用的数据库名称

    $user = "root";                                   //使用的数据库用户名

    $pwd = "root";                                    //使用的数据库密码

    $host = "localhost";                              //使用的主机名称

    $dsn  = "$dbms:host=$host;dbname=$dbName";

        $pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo

        $query="insert into `user_12`(username,password) VALUES ('$name','$password')";//需要执行的sql语句

        $res=$pdo->prepare($query);//准备查询语句

        $res->execute();            //执行查询语句,并返回结果集

        $code =$res->errorCode();

        if(empty($code)){

            echo "数据添加成功";

        }else{

            echo "数据错误:<br>";

            echo 'SQL Query:'.$query;

            echo '<pre>';

            var_dump($res->errorInfo());

            echo '</pre>';

        }

    }

    ?>

    注意:

    在上面的代码中,在定义 INSERT 添加语句的时候,我们故意使用了错误的数据表名字user_12(正确的数据表名称是:user),这里是为了测试写的!

  • 相关阅读:
    功能小改进
    通过Performancing for Firefox发布Blog
    朋友当上了世界杯志愿者
    社区公告
    [新功能]通过作者名访问Blog
    用统一加速器解决网通用户访问博客园速度慢的问题
    通过备份数据库恢复SharePoint文档库中被删除的文件
    Web Application Projects的一个问题
    博客园将迈出重要的一步,注册一个公司
    Outlook 2003中的一些不足之处
  • 原文地址:https://www.cnblogs.com/furuihua/p/12172797.html
Copyright © 2011-2022 走看看