PDO中錯誤處理的方法二-errorInfo()方法
PDOStatement::errorInfo — 擷取跟上一次語句控制代碼操作相關的擴充錯誤資訊(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)!
在上一篇文章《PDO中錯誤處理的方法一-errorCode()方法》中我們介紹了PDO中錯誤處理的第一種方法,大家可以在上一篇文章回顧下,接下來我們為大家介紹PDO中錯誤處理的第二種方法~
errorInfo()方法用於擷取操作資料庫控制代碼時所發生的資訊錯誤,該方法的文法格式如下:
array PDOStatement::errorInfo(void)
PDOStatement::errorInfo() 返回一個關於上一次語句控制代碼執行操作的錯誤資訊的數組 。該數組包含下欄欄位:
| 元素 |
資訊 |
| 0 |
SQLSTATE 錯誤碼(一個由5個字母或數字組成的在 ANSI SQL 標準中定義的標識符)。 |
| 1 |
具體驅動錯誤碼。 |
| 2 |
具體驅動錯誤資訊。 |
在PDO中通過 query()方法完成資料的查詢操作,並且通過 foreach 陳述式完成資料的迴圈輸出,在定義SQL 陳述式的時候使用一個錯誤的資料表,並且通過errorInfo()方法返回錯誤資訊,具體實現步驟如下:
建立一個php檔案,首先通過PDO 串連MySQL資料庫,然後通過query()方法執行查詢語句,接著通過 errorInfo()方法擷取錯誤資訊,最後通過foreach 陳述式完成資料的迴圈輸出,具體實現代碼如下:
<?phpheader("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$query="select * from user_12";//需要執行的sql語句$res=$pdo->query($query);//準備查詢語句print_r($pdo->errorInfo());?><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 foreach ($res as $items){ ?> <tr> <td height="22" align="center" valign="middle"><?php echo $items["id"];?></td> <td height="22" align="center" valign="middle"><?php echo $items["username"];?></td> <td height="22" align="center" valign="middle"><?php echo $items["password"];?></td> </tr> <?php } }catch(PDOException $e){ die("Error!:".$e->getMessage().'<br>'); } ?></table>
注意:
在上面的代碼中,在定義 SELECT 查詢語句的時候,我們故意使用了錯誤的資料表名字user_12(正確的資料表名稱是:user),這裡是為了測試寫的!
輸出的結果如所示:
關於PDO中錯誤處理的兩種方法到這裡我們就全部介紹完了,相信小夥伴們對PDO中錯誤處理有了一定瞭解,還沒明白的小夥伴可以再回顧一下,下一篇文章我們繼續給大家介紹PDO的交易處理,具體請閱讀《PDO中的交易處理具體介紹》!