>백엔드 개발 >PHP 튜토리얼 >경고 모드-PDO::ERRMODE_WARNING 사용(PDO의 SQL 문의 오류를 캡처하는 방법 2)

경고 모드-PDO::ERRMODE_WARNING 사용(PDO의 SQL 문의 오류를 캡처하는 방법 2)

黄舟
黄舟원래의
2017-04-28 17:42:072780검색

경고 모드 사용 -PDO::ERRMODE_WARNING(PDO의 SQL 문의 오류를 캡처하는 방법 2)

경고 모드는 PHP 경고를 생성하며, errorCode 속성을 설정합니다. 경고 모드가 설정된 경우 오류 코드를 명시적으로 확인하지 않는 한 프로그램은 계속해서 실행됩니다.

그런 다음 이전 기사 "기본 모드 사용-PDO::ERRMODE_SILENT(PDO의 SQL 문에서 오류를 캡처하는 방법 1)"에서 오류를 캡처하는 첫 번째 PDO 방법을 소개했습니다. SQL 문에서 이 기사에서는 두 번째 방법인 경고 모드 사용-PDO::ERRMODE_WARNING~을 소개합니다.

경고 모드를 설정하고 prepare() 및 excute() 메서드를 통해 데이터베이스의 데이터를 읽고 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>

참고:

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

경고 모드로 설정한 후 SQL 문에 오류가 발생하면 프롬프트 메시지가 표시되지만 프로그램은 계속 실행될 수 있습니다.

경고 모드-PDO::ERRMODE_WARNING 사용(PDO의 SQL 문의 오류를 캡처하는 방법 2)

이것이 경고 모드에 관한 것입니다. 친구들은 로컬에서 시도해 볼 수 있습니다. 그러면 다음 기사에서는 오류 메서드에 대해 캡처한 마지막 SQL 문을 소개합니다. , 자세한 내용은 "예외 모드 사용-PDO::ERRMODE_EXCEPTION(PDO 3의 SQL 문 오류 캡처)"을 읽어보세요!

위 내용은 경고 모드-PDO::ERRMODE_WARNING 사용(PDO의 SQL 문의 오류를 캡처하는 방법 2)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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