首頁  >  文章  >  後端開發  >  使用預設模式-PDO::ERRMODE_SILENT(PDO中擷取SQL語句中的錯誤方法一)

使用預設模式-PDO::ERRMODE_SILENT(PDO中擷取SQL語句中的錯誤方法一)

黄舟
黄舟原創
2017-04-28 17:41:272909瀏覽

使用預設模式-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),這裡是為了測試寫的!

導致錯誤輸出結果如下:

使用預設模式-PDO::ERRMODE_SILENT(PDO中擷取SQL語句中的錯誤方法一)

那麼使用預設模式-PDOERRMODE_SILENT捕捉PDO中SQL語句中的錯誤方法就介紹完了,大家可以試試看,下一篇我們繼續為大家介紹PDO中捕獲SQL語句中的錯誤方法,具體請閱讀《使用警告模式-PDO::ERRMODE_WARNING(PDO中捕獲SQL語句中的錯誤方法二)》!

以上是使用預設模式-PDO::ERRMODE_SILENT(PDO中擷取SQL語句中的錯誤方法一)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn