Cet article vous présente principalement le contenu pertinent de la gestion des exceptions PDO en php. L'article vous donne d'abord une brève introduction, puis vous présente comment l'utiliser à travers un exemple de code. L'introduction est très détaillée, amis dans le besoin, nous pouvons. s'y référer. Les amis intéressés peuvent venir apprendre ensemble.
Gestion des exceptions :
PHP : la valeur par défaut est de signaler directement les erreurs
MYSQL : la valeur par défaut est le mode silencieux, si vous faites une erreur, vous vous trompez. Aucun rapport d'erreur
PDO : la valeur par défaut est le mode silencieux, les erreurs sont des erreurs, aucune erreur n'est signalée
Dans le passé, lorsque PHP rencontrait une erreur. , il signalerait directement une erreur et la gestion des erreurs deviendrait 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 : mode par défaut, ne signale pas activement les erreurs, doit utiliser activement $ pdo->errorInfo () pour obtenir des informations sur l'erreur.
PDO::ERRMODE_WARNING : générer une erreur E_WARNING et signaler les erreurs de manière proactive
PDO::ERRMODE_EXCEPTION : lancer des exceptions de manière proactive et vous devez utiliser try{}cath(){} pour générer une erreur information.
Exemple :
Méthode 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()); }
Méthode 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);
Méthode 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(); }
Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
Explication détaillée de la façon d'interroger l'emplacement d'un téléphone mobile avec PHP
Explication graphique détaillée des solutions courantes pour remarquer les erreurs en PHP
PHP implémente la conversion entre le code ASCII et la chaîne
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!