首頁  >  文章  >  後端開發  >  使用警告模式-PDO::ERRMODE_WARNING(PDO中擷取SQL語句中的錯誤方法二)

使用警告模式-PDO::ERRMODE_WARNING(PDO中擷取SQL語句中的錯誤方法二)

黄舟
黄舟原創
2017-04-28 17:42:072767瀏覽

使用警告模式-PDO::ERRMODE_WARNING(PDO中捕獲SQL語句中的錯誤方法二)

警告模式會產生一個PHP 警告,並且設定errorCode屬性,如果設定的是警告模式,那麼除非明確的檢查錯誤代碼,否則程式將會繼續按照其方式運作。

那麼我們在上一篇文章《使用預設模式-PDO::ERRMODE_SILENT(PDO中捕捉SQL語句中的錯誤方法一)》中,我們介紹了第一種PDO中捕捉SQL語句中的錯誤方法,那麼接下來這篇文章我們為大家介紹第二種方法:使用警告模式-PDO::ERRMODE_WARNING~!

設定警告模式,透過prepare()和execute()方法讀取資料庫中的數據,並且透過while語句和分fetch()方法完成資料的循環輸出,體會在設定成警告模式後執行錯誤的SQL語句。

下面我將使用實例來對使用警告模式-PDO::ERRMODE_WARNING的進一步介紹,先來介紹一下實現的思路。

先建立php文件,連接MySQL資料庫,透過預處理語句的prepare()和execute()方法執行SELECT 查詢操作,並設定一個錯誤的資料表名稱,同時透過setAttribute()方法設定為警告模式,最後透過while 語句和fetch()方法完成資料的循環輸出,具體程式碼如下:

<?php
header("Content-Type:text/html; charset=utf-8");    //设置页面的编码格式
$dbms = "mysql";                                  // 数据库的类型
$dbName ="php_cn";                                //使用的数据库名称
$user = "root";                                   //使用的数据库用户名
$pwd = "root";                                    //使用的数据库密码
$host = "localhost";                              //使用的主机名称
$dsn  = "$dbms:host=$host;dbname=$dbName";
try{
$pdo=new PDO($dsn,$user,$pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);  //设置为警告模式
$query="select * from user_12";//需要执行的sql语句
$res=$pdo->prepare($query);//准备查询语句
$res->execute();            //执行查询语句,并返回结果集
?>
<table border="1" width="500">
    <tr>
        <td height="22" align="center" valign="middle">id</td>
        <td height="22" align="center" valign="middle">用户名</td>
        <td height="22" align="center" valign="middle">密码</td>
    </tr>
    <?php
    while($result=$res->fetch(PDO::FETCH_ASSOC)){         // 循环输出查询结果集,并且设置结果集为关联数据形式。
        ?>
        <tr>
            <td height="22" align="center" valign="middle"><?php echo $result["id"];?></td>
            <td height="22" align="center" valign="middle"><?php echo $result["username"];?></td>
            <td height="22" align="center" valign="middle"><?php echo $result["password"];?></td>
        </tr>
        <?php
    }
    }catch(Exception $e){
        die("Error!:".$e->getMessage().&#39;<br>&#39;);
    }
    ?>
</table>

注意:

使用警告模式-PDO::ERRMODE_WARNING(PDO中擷取SQL語句中的錯誤方法二)

############################## #####在上面的程式碼中,定義SELECT 查詢語句的時候,我們故意使用了錯誤的資料表名字user_12(正確的資料表名稱是:user),這裡是為了測試寫的! ############在設定為警告模式以後,如果SQL 語句出現錯誤將會給予一個提示訊息,但是程式仍然能繼續執行下去,上面實例得到的結果如下圖:## #############關於警告模式就介紹到這裡,小夥伴們可以自己在本地試一試,那麼我們下一篇文章將給大家介紹最後一個PDO中捕獲SQL語句中的錯誤方法,請閱讀《###使用異常模式-PDO::ERRMODE_EXCEPTION(PDO中捕獲SQL語句中的錯誤方法三)###》!###

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

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