이 글에서는 주로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!