>  기사  >  백엔드 개발  >  기본 모드 -PDO::ERRMODE_SILENT를 사용합니다(PDO의 SQL 문의 오류를 캡처하는 방법 1).

기본 모드 -PDO::ERRMODE_SILENT를 사용합니다(PDO의 SQL 문의 오류를 캡처하는 방법 1).

黄舟
黄舟원래의
2017-04-28 17:41:272926검색

기본 모드 사용 -PDO::ERRMODE_SILENT(PDO에서 SQL 문 오류를 캡처하는 방법 1)

SQL 문을 캡처하는 방법에는 세 가지가 있습니다. 자신의 개발 프로젝트와 실제 상황에 따라 적합한 솔루션을 선택하여 SQL 문 오류를 포착할 수 있습니다!

그럼 이전 글 "PDO에서 SQL 문을 실행하는 세 가지 방법"에서 PDO에서 SQL 문을 실행하는 세 가지 방법을 소개했고, 앞선 세 글 "자세히 알아보겠습니다. PDO의 결과 집합을 가져오는 fetch() 메서드 설명》 《PDO의 결과 집합을 가져오는 fetchAll() 메서드에 대한 자세한 설명》 《FetchColumn() 메서드 PDO에서 결과셋 얻기 "상세설명 "에서는 PDO에서 결과셋을 얻는 3가지 방법을 소개했으니, 오늘은 PDO에서 SQL문의 에러를 캡쳐하는 몇 가지 방법을 소개해드리겠습니다~!

오늘은 기본 모드인 PDO::ERRMODE_SILENT 사용법을 소개해드리겠습니다.

PDOStatement 객체의 errorCode 데이터를 기본 모드로 설정하고, 다른 작업은 수행하지 마세요.

아래에서는 예제를 사용하여 기본 모드인 PDO::ERRMODE_SILENT의 구체적인 사용법을 소개합니다. 구체적인 단계는 다음과 같습니다.

먼저 PHP 파일을 생성하고 양식을 추가한 후 제출합니다. 이 페이지에 양식 요소를 추가하고, PDO를 통해 MySQL 데이터베이스에 연결하고, 준비된 문의 prepare() 및 실행() 메서드를 통해 INSERT 추가 작업을 수행하고, 데이터 테이블에 데이터를 추가하고, errorCode 속성을 설정합니다. 코드의 오류를 감지하는 PDOStatement 개체는 다음과 같습니다.

<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;
';     } } ?>

참고:

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

결과는 다음과 같은 오류 출력입니다.

기본 모드 -PDO::ERRMODE_SILENT를 사용합니다(PDO의 SQL 문의 오류를 캡처하는 방법 1).

그런 다음 기본 모드를 사용하는 방법인 PDOERRMODE_SILENT를 사용하여 SQL 문에서 오류를 캡처합니다. PDO에서 소개하는 내용입니다. 다음 글에서는 계속해서 PDO에서 SQL 문 오류를 캡처하는 방법을 소개하겠습니다. 자세한 내용은 "경고 모드 사용하기"를 참조하세요. -PDO::ERRMODE_WARNING (PDO 2의 SQL 문의 오류를 캡처하는 방법)》!

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

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