이 글에서는 주로 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,'jike','w',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,'jike','w',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,'jike','w',55)"; //用try{}catch(){}抓取异常 try{ $res = $pdo->exec($sql); }catch(PDOException $e){ echo $e->getMessage(); }
이게 다입니다 기사 전체 내용이 모든 분들의 공부에 도움이 되었으면 좋겠습니다.
관련 추천:
PHP에서 휴대폰 위치를 쿼리하는 방법에 대한 자세한 설명
PHP에서 오류 알림에 대한 일반적인 해결 방법에 대한 자세한 그래픽 설명
PHP는 상호를 실현합니다. ASCII 코드 및 문자열 변환
위 내용은 PHP PDO 예외 처리 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!