Rumah >pembangunan bahagian belakang >tutorial php >使用默认模式-PDO::ERRMODE_SILENT(PDO中捕获SQL语句中的错误方法一)

使用默认模式-PDO::ERRMODE_SILENT(PDO中捕获SQL语句中的错误方法一)

黄舟
黄舟asal
2017-04-28 17:41:272966semak imbas

使用默认模式-PDO::ERRMODE_SILENT(PDO中捕获SQL语句中的错误方法一)

在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属性,来检测代码中的错误,具体代码如下:

<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[&#39;username&#39;]&&$_POST[&#39;password&#39;]!=""){
$name = $_POST[&#39;username&#39;];
$password = $_POST[&#39;password&#39;];
$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 (&#39;$name&#39;,&#39;$password&#39;)";//需要执行的sql语句
    $res=$pdo->prepare($query);//准备查询语句
    $res->execute();            //执行查询语句,并返回结果集
    $code =$res->errorCode();
    if(empty($code)){
        echo "数据添加成功";
    }else{
        echo "数据错误:<br>";
        echo &#39;SQL Query:&#39;.$query;
        echo &#39;<pre class="brush:php;toolbar:false">&#39;;
        var_dump($res->errorInfo());
        echo &#39;
'; } } ?>

注意:

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

导致错误输出结果如下:

84.png

那么使用默认模式-PDOERRMODE_SILENT捕获PDO中SQL语句中的错误方法就介绍完了,大家可以试试看,下一篇我们继续为大家介绍PDO中捕获SQL语句中的错误方法,具体请阅读《使用警告模式-PDO::ERRMODE_WARNING(PDO中捕获SQL语句中的错误方法二)》!

Atas ialah kandungan terperinci 使用默认模式-PDO::ERRMODE_SILENT(PDO中捕获SQL语句中的错误方法一). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn