8.101 Fonctions PDO
8 Référence des fonctions
Manuel PHP
. Introduction . Installation . Configuration à l'exécution . Drivers PDO . Connexions et gestionnaire de connexion . Transactions et validation automatique (auto-commit) . Requêtes préparées et procédures stockées ->Erreurs et gestionnaire des erreurs . Les objets larges (LOBs) . Classes pré-définies . Constantes pré-définies . PDO::beginTransaction . PDO::commit . PDO::__construct . PDO::errorCode . PDO::errorInfo . PDO::exec . PDO::getAttribute . PDO::getAvailableDrivers . PDO::lastInsertId . PDO::prepare . PDO::query . PDO::quote . PDO::rollBack . PDO::setAttribute . PDOStatement::bindColumn . PDOStatement::bindParam . PDOStatement::bindValue . PDOStatement::closeCursor . PDOStatement::columnCount . PDOStatement::errorCode . PDOStatement::errorInfo . PDOStatement::execute . PDOStatement::fetch . PDOStatement::fetchAll . PDOStatement::fetchColumn . PDOStatement::getAttribute . PDOStatement::getColumnMeta . PDOStatement::nextRowset . PDOStatement::rowCount . PDOStatement::setAttribute . PDOStatement::setFetchMode
|
8.101.8 Erreurs et gestionnaire des erreurs
PDO offre la possibilité de gérer les erreurs de 3 façons différentes, pour
coller au mieux au style de votre application.
-
PDO::ERRMODE_SILENT
C'est le mode par défaut. PDO définit simplement le code erreur pour vous
afin de l'inspecter en utilisant les méthodes
PDO::errorCode
et
PDO::errorInfo
sur la requête ou sur les objets
de la base de données ; si l'erreur est issue d'un appel à un objet de requête,
vous devriez invoquer les méthodes
PDOStatement::errorCode
ou
PDOStatement::errorInfo
sur cet objet. Si l'erreur
est issue d'un appel sur un objet de la base de données, vous devriez invoquer
à la place les méthodes de cet objet.
-
PDO::ERRMODE_WARNING
En plus de définir le code erreur, PDO émettra un message de niveau E_WARNING.
Ce comportement est très utile lors de la phase de test/débogage, si vous voulez
juste voir le problème qui survient sans pour autant stopper le flot de l'application.
-
PDO::ERRMODE_EXCEPTION
En plus de définir le code erreur, PDO lancera une exception
PDOException
et y définit ces propriétés
pour refléter le code erreur et l'information sur l'erreur. Ce comportement
est utile également durant la période de débogage car il va stopper
l'application à l'endroit même de l'erreur et pointer l'endroit où
se trouve potentionnellement l'erreur dans votre code (souvenez-vous :
les transactions sont automatiquement annulées si l'exception fait
que le script se termine).
Le mode lançant des exceptions est également utile pour structurer
la gestion de vos erreurs plus clairement que par la traditionnelle
gestion des erreurs de PHP et avec moins de code, plutôt que le mode
silencieux et l'analyse explicite des valeurs retournées par chaque appel
à la base de données.
Lisez la documentation sur les exceptions
pour plus de détails sur les exceptions en PHP.
PDO standardise les codes erreurs en utilisant SQL-92 SQLSTATE ; les drivers
individuels PDO sont responsables du mapping de leurs propres codes
avec les codes SQLSTATE appropriées. La méthode
PDO::errorCode
retourne un seul code SQLSTATE. Si vous avez besoin de plus d'informations sur
une erreur, PDO fournit également la méthode
PDO::errorInfo
qui retourne un tableau contenant le code SQLSTATE, le code erreur spécifique
du driver et la chaîne erreur spécifique au driver.
|