Maison >base de données >tutoriel mysql >Comment faire en sorte que PDO lève des exceptions au lieu de renvoyer des codes d'erreur ?

Comment faire en sorte que PDO lève des exceptions au lieu de renvoyer des codes d'erreur ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-03 17:57:11218parcourir

How to Make PDO Throw Exceptions Instead of Returning Error Codes?

Comment configurer PDO pour gérer les erreurs avec exceptions ?

En PHP, PDO est couramment utilisé pour l'interaction avec la base de données. Par défaut, PDO gère les erreurs en renvoyant des codes d'erreur. Cependant, vous pouvez configurer PDO pour qu'il lève des exceptions à la place. Cela garantit que les erreurs sont traitées explicitement, offrant ainsi une manière plus propre de gérer les opérations de base de données.

Utilisez la méthode setAttribute

L'approche la plus courante pour activer la gestion des exceptions dans PDO consiste à utiliser la méthode setAttribute :

$dbh = new PDO('mysql:host=localhost;dbname=myDatabase', 'username', 'password');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Configuration du constructeur

Une alternative La méthode consiste à définir le mode d'erreur dans le constructeur PDO :

$pdo = new PDO('mysql:host=localhost;dbname=someDatabase', 'username', 'password', array(
  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));

PHP.ini ou Config File

Le manuel PHP ne contient aucune information sur la définition de cette option dans un fichier de configuration, tel que php.ini. Cela suggère que la définition dynamique du mode d'erreur via les méthodes susmentionnées est l'approche envisagée.

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!

Déclaration:
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