Comment configurer la gestion des erreurs php pdo

藏色散人
Libérer: 2023-03-17 06:54:01
original
1561 Les gens l'ont consulté

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(){}".

Comment configurer la gestion des erreurs php pdo

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,&#39;jike&#39;,&#39;w&#39;,55)";
$res = $pdo->exec($sql);
if($res){
  echo "OK";
}else{
  echo $pdo->errorCode();
  print_r($pdo->errorInfo());
}
Copier après la connexion

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,&#39;jike&#39;,&#39;w&#39;,55)";
//若有错误直接在浏览器页面中显示错误信息
$res = $pdo->exec($sql);
Copier après la connexion

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,&#39;jike&#39;,&#39;w&#39;,55)";
//用try{}catch(){}抓取异常
try{
  $res = $pdo->exec($sql);
}catch(PDOException $e){
  echo $e->getMessage();
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal