Méthode de configuration de la gestion des erreurs php pdo : 1. Définissez "PDO::ERRMODE_SILENT", puis obtenez les informations d'erreur sous la forme de "$pdo->errorInfo()" ; 2. Définissez "PDO::ERRMODE_WARNING" et vérifiez "E_WARNING" "Erreur ; 3. Définissez "PDO::ERRMODE_EXCEPTION", puis affichez le message d'erreur avec "try{}cath(){}".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.
php Explication détaillée de la gestion des exceptions PDO
Gestion des exceptions :
PHP : la valeur par défaut est de signaler les erreurs directement
MYSQL : la valeur par défaut est le mode silencieux, si une erreur se produit, aucune erreur n'est signalée
PDO : La valeur par défaut est le mode silencieux, si une erreur se produit, une erreur est signalée, aucune erreur n'est signalée
Dans le passé, lorsque PHP rencontrait une erreur, il signalait une erreur directement et la gestion des erreurs devenait assez gênante. Plus tard, lorsqu'une erreur se produit, les informations d'erreur ne seront plus affichées directement et seront placées dans un objet de classe (PDOException)
Paramètres de gestion des exceptions pdo :
Définissez PDO::ATTR_ERRMODE, qui a les trois valeurs suivantes :
PDO ::ERRMODE_SILENT : Le mode par défaut ne signale pas activement les erreurs. Vous devez obtenir activement les informations sur les erreurs sous la forme de $pdo->errorInfo().
PDO::ERRMODE_WARNING : génère une erreur E_WARNING et signale les erreurs de manière proactive.
PDO::ERRMODE_EXCEPTION : lancez activement des exceptions. Vous devez utiliser try{}cath(){} pour générer des informations sur l'erreur.
Exemple :
Première méthode :
<?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()); }
Méthode deux :
<?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);
Méthode trois :
<?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(); }
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!