International PHP Conference Berlin 2025

PDO::errorCode

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)

PDO::errorCode Retourne le SQLSTATE associé avec la dernière opération sur la base de données

Description

public PDO::errorCode(): ?string

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

PDO::errorCode() retourne un SQLSTATE, un identifiant alphanumérique de cinq caractères défini dans le standard ANSI SQL. Brièvement, un SQLSTATE consiste en une valeur de classe de deux caractères suivi par une valeur de sous-classe de trois caractères. Une valeur de classe de 01 indique une alerte et est accompagnée par un code de retour SQL_SUCCESS_WITH_INFO. Les valeurs de classes autre que '01', mis à part la classe 'IM', indiquent une erreur. La classe 'IM' est spécifique aux alertes et aux erreurs qui sont issues de l'implémentation elle-même de PDO (ou peut-être ODBC, si vous utilisez le driver ODBC). La valeur de sous-classe '000' dans n'importe quelle classe, indique qu'il n'y a pas de sous-classe pour cet SQLSTATE.

PDO::errorCode() retourne uniquement les codes erreurs pour les opérations exécutées directement sur le gestionnaire de la base de données. Si vous créez un objet PDOStatement avec la fonction PDO::prepare() ou la fonction PDO::query() et que vous invoquez une erreur sur le gestionnaire de requête, PDO::errorCode() ne retournera pas cette erreur. Vous devez appeler PDOStatement::errorCode() pour retourner le code erreur pour une opération exécutée sur un gestionnaire de requête particulier.

Retourne null si aucune opération n'a été exécutée sur la base de données.

Exemples

Exemple #1 Récupération d'un code SQLSTATE

<?php
/* Provoque une erreur -- la table BONES n'existe pas */
$dbh->exec("INSERT INTO bones(skull) VALUES ('lucy')");

echo
"\nPDO::errorCode(): ", $dbh->errorCode();
?>

L'exemple ci-dessus va afficher :

PDO::errorCode(): 42S02

Voir aussi

  • PDO::errorInfo() - Retourne les informations associées à l'erreur lors de la dernière opération sur la base de données
  • PDOStatement::errorCode() - Récupère les informations sur l'erreur associée lors de la dernière opération sur la requête
  • PDOStatement::errorInfo() - Récupère les informations sur l'erreur associée lors de la dernière opération sur la requête

add a note

User Contributed Notes 1 note

up
43
Matthias Leuffen
19 years ago
Hi,

List containing all SQL-92 SQLSTATE Return Codes:
http://www.unix.org.ua/orelly/java-ent/jenut/ch08_06.htm

Use the following Code to let PDO throw Exceptions (PDOException) on Error.

<?PHP
$pdo
= new PDO (whatever);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$pdo->exec ("QUERY WITH SYNTAX ERROR");
} catch (
PDOException $e) {
if (
$e->getCode() == '2A000')
echo
"Syntax Error: ".$e->getMessage();
}
?>

Bye,
Matthias
To Top