>백엔드 개발 >PHP 튜토리얼 >PHP PDO 예외 처리 방법에 대한 자세한 설명

PHP PDO 예외 처리 방법에 대한 자세한 설명

墨辰丷
墨辰丷원래의
2018-05-30 16:13:351710검색

이 글에서는 주로 PHP에서의 PDO 예외 처리 관련 내용을 소개합니다. 먼저 간략한 소개를 한 후 예제 코드를 통해 사용 방법을 소개합니다. 관심있는 친구들이 와서 함께 배울 수 있습니다.

예외 처리:

PHP: 기본값은 오류를 직접 보고하는 것입니다.

MYSQL: 기본값은 자동 모드이고, 오류는 오류이며, 오류는 보고되지 않습니다.

PDO: 기본값은 자동 모드이며, 오류는 오류, 오류는 보고되지 않습니다

이전에는 PHP에서 오류가 발생하면 직접 오류를 보고하므로 오류 처리가 상당히 번거로웠습니다. 나중에 오류가 발생하면 오류 정보가 더 이상 직접 출력되지 않고 클래스 객체에 배치됩니다(PDOException)

pdo 예외 처리 설정:

Set PDO::ATTR_ERRMODE, 거기에 다음 세 가지 값:

PDO::ERRMODE_SILENT: 기본 모드, 오류를 적극적으로 보고하지 않으며 $pdo->errorInfo() 형식으로 오류 정보를 적극적으로 가져와야 합니다.

PDO::ERRMODE_WARNING: E_WARNING 오류를 발생시키고 사전에 오류를 보고합니다.

PDO::ERRMODE_EXCEPTION: 오류 정보를 출력하려면 try{}cath(){}를 적극적으로 사용해야 합니다.

예:

방법 1:

<?php
//默认是不提示的 需要用 errorCode() errorInfo();
try{
  $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root","");
  //下面这句是默认设置,有无均可
  $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_SILENT);
}catch(PDOException $e){
  die("数据库连接失败".$e->getMessage());
}
$sql = "insert into stuu values(null,&#39;jike&#39;,&#39;w&#39;,55)";
$res = $pdo->exec($sql);
if($res){
  echo "OK";
}else{
  echo $pdo->errorCode();
  print_r($pdo->errorInfo());
}

방법 2:

<?php
try{
  $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root","");
  //主动以警告的形式报错
  $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
}catch(PDOException $e){
  die("数据库连接失败".$e->getMessage());
}
$sql = "insert into stuu values(null,&#39;jike&#39;,&#39;w&#39;,55)";
//若有错误直接在浏览器页面中显示错误信息
$res = $pdo->exec($sql);

3:

<?php
try{
  $pdo = new PDO("mysql:host=localhost;dbname=jikexueyuan","root","");
  //主动抛出异常
  $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION );
}catch(PDOException $e){
  die("数据库连接失败".$e->getMessage());
}
$sql = "insert into stuu values(null,&#39;jike&#39;,&#39;w&#39;,55)";
//用try{}catch(){}抓取异常
try{
  $res = $pdo->exec($sql);
}catch(PDOException $e){
  echo $e->getMessage();
}

이게 다입니다 기사 전체 내용이 모든 분들의 공부에 도움이 되었으면 좋겠습니다.


관련 추천:

PHP에서 휴대폰 위치를 쿼리하는 방법에 대한 자세한 설명

PHP에서 오류 알림에 대한 일반적인 해결 방법에 대한 자세한 그래픽 설명

PHP는 상호를 실현합니다. ASCII 코드 및 문자열 변환

위 내용은 PHP PDO 예외 처리 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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