PHP PDO에서 예외를 처리하는 방법

PHPz
풀어 주다: 2018-12-07 11:33:55
앞으로
1444명이 탐색했습니다.

PDO는 예외를 어떻게 처리하나요? 이 글의 내용은 PDO에서 오류를 처리하는 세 가지 방법을 소개하는 것입니다. 참고할 만한 가치가 있으니 도움이 필요한 분들에게 도움이 되길 바랍니다.

PDO는 오류를 처리하는 세 가지 방법을 제공합니다.

PDO::ERRMODE_SILENT: 자동 모드(기본값)

PDO::ERRMODE_WARNING: 경고 모드

PDO::ERRMODE_EXCEPTION: 예외 모드

예:

<?php 

/**
* 利用PDO对象实现异常处理操作
*/

echo "<meta charset=utf-8>";

//PDO类的实例化

// 1 设置数据源相关参数
$dbms = &#39;mysql&#39;;    //选择数据库类型
$host = &#39;localhost&#39;;
$port = &#39;3306&#39;;
$dbname = &#39;test&#39;;
$charset = &#39;utf8&#39;;
$dsn = "$dbms:host=$host;port=$port;dbname=$dbname;charset=$charset";

// 2 设置用户名密码
$user = &#39;root&#39;;
$pwd = &#39;&#39;;

// 3 实例化PDO类
$pdo = new PDO($dsn,$user,$pwd);

// 4 设置PDO相关属性
$pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER);

// 5 修改PDO为异常模式
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);

try{      //监听
    $sql = "select * from pdo";
    $stmt = $pdo->query($sql);
}catch(PDOException $e){
    //捕获异常
    echo "错误信息为:".$e->getmessage()."<br/>";
    echo "错误代码为:".$e->getCode()."<br/>";
    echo "错误文件为:".$e->getFile()."<br/>";
    echo "错误行号为:".$e->getLine()."<br/>";
}
로그인 후 복사

참고: PDO의 예외 처리에는 예외 클래스를 인스턴스화하고 예외를 던질 필요가 없습니다. 5단계에서 PDO를 예외 모드로 수정했기 때문입니다.

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
로그인 후 복사

작동결과 : 이상없이 정상표시!

예외가 발생했는지, 발생한 예외가 우리가 원하는 것인지 확인하기 위해 의도적으로 잘못된 모니터링 코드 블록을 작성하세요!

//监听
    $sql = "select * from pdo111";  //把 pdo 错改成 pdo111
로그인 후 복사

결과:

예외 처리가 성공했음을 나타내는 예외 정보가 발생합니다!

요약: 위의 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 동영상을 추천합니다: php 튜토리얼!

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿