>백엔드 개발 >PHP 튜토리얼 >PDO의 오류 처리 방법 2 - errorInfo() 메서드

PDO의 오류 처리 방법 2 - errorInfo() 메서드

黄舟
黄舟원래의
2017-04-28 17:45:373947검색

PDO의 오류 처리 방법 2 - errorInfo() 메서드

PDOStatement::errorInfo — 마지막 문 핸들 작업과 관련된 확장된 오류 정보를 가져옵니다( PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)!

이전 글 "PDO의 오류 처리 방법 1 - 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 문을 통해 데이터의 루프 출력을 완료합니다.

<?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
$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().&#39;<br>&#39;);
    }
    ?>
</table>

참고:

위 코드에서 SELECT 쿼리 문을 정의할 때 의도적으로 잘못된 데이터 테이블 이름 user_12(올바른 이름)를 사용했습니다. 데이터 테이블 이름은 user)입니다. 테스트를 위해 여기에 작성되었습니다!

출력 결과는 아래와 같습니다.

PDO의 오류 처리 방법 2 - errorInfo() 메서드

여기에서는 PDO의 두 가지 오류 처리 방법을 모두 소개합니다. PDO의 오류 처리에 대해서는 모두가 어느 정도 이해하고 있다고 생각합니다. 아직 이해하지 못한 분들은 다음 기사에서 계속해서 PDO의 트랜잭션 처리에 대해 소개하겠습니다. "PDO 트랜잭션 처리 상세 소개》를 읽어보세요!

위 내용은 PDO의 오류 처리 방법 2 - errorInfo() 메서드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.