오류 및 예외 처리LOGIN

오류 및 예외 처리

오류 예외 처리 모드: PDO::ERRMODE_EXCEPTION

PDO는 오류 코드 설정에 대한 첨부 파일로 PDOException을 발생시키고 해당 속성을 설정하여 오류 코드 및 오류 정보를 반영합니다. 이 설정은 디버깅 시에도 매우 유용합니다. 스크립트의 오류 지점을 효과적으로 "확대"하여 코드에서 가능한 오류 영역을 매우 빠르게 가리킬 수 있기 때문입니다. (기억하세요: 예외로 인해 스크립트가 중단되면 트랜잭션이 자동으로 롤백됩니다.)
  예외 모드는 기존 PHP 스타일 오류 처리 구조보다 더 적은 코드를 사용하고 더 명확한 구조를 사용하여 오류를 처리할 수 있기 때문에 매우 유용합니다. Quiet 모드를 사용하는 것보다 중첩되어 각 데이터베이스 액세스의 반환 값을 더 명시적으로 확인할 수 있습니다.

微信图片_20180305114759.png

완성된 코드는 다음과 같습니다.

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/3/5 0005
 * Time: 上午 9:23
 */
header("Content-Type:text/html;charset=utf-8");
//mysql:host:localhost;port=3306;dbname=php;charset=utf-8
$dbms='mysql';
$host='localhost';
$port='3306';
$dbname='php';
$charset='utf-8';
//用户名与密码
$user='root';
$pwd='root';
$dsn="$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";
try{
    $pdo=new PDO($dsn,$user,$pwd);
    //设置错误处理
//    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_SILENT);   //0 默认模式
//    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);  //1  警告处理模式
    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//2
//    $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ATTR_ERRMODE);     //3
    //预处理sql语句
//    $stmt=$pdo->prepare("insert into book(name,author)values(?,?)");
    $stmt=$pdo->prepare("select *from phpbook");
    $stmt->execute();
    //获取错误信息
    $code=$stmt->errorCode();
    $info=$stmt->errorInfo();
    //输出相关信息
    print_r("错误码:".$code."<br>");
    print_r("错误信息:");
    print_r($info);
}catch (PDOException $exception){
    echo $exception->getMessage().'<br>';
}

실행 결과 표시:

微信图片_20180305114907.png

다음 섹션
<?php echo "PDO异常处理模式";
코스웨어