Retourne une erreur SQLSTATE depuis la requête précédente

# maxdb_stmt_sqlstate

(PECL maxdb >= 1.0)

maxdb_stmt_sqlstate — Retourne une erreur SQLSTATE depuis la requête précédente

### Description

maxdb_stmt_sqlstate ( resource `$stmt` ) : string

Retourne une chaîne contenant un code erreur SQLSTATE depuis la fonction de requête préparée la plus récente qu'elle ait réussie ou échouée. Le code erreur est composé de cinq caractères. '00000' signifie aucune erreur. La valeur est spécifiée par ANSI SQL et ODBC.

> Note:

> Notez que toutes les erreurs MaxDB ne sont pas encore liées à SQLSTATE. La valeur HY000 (erreur général) est utilisée pour les erreurs non liées.

### Valeurs de retour

Retourne une chaîne contenant le code erreur SQLSTATE pour la dernière erreur. Le code erreur est composé de cinq caractères. '00000' signifie aucune erreur.

### Exemples

Exemple #1 Style orienté objet

`<?php
/* Ouvre une connexion */
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Echec de la connexion : %s\n", maxdb_connect_error());
exit();
}
$maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");
$maxdb->query("INSERT INTO temp.mycity SELECT * FROM hotel.city");
$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = $maxdb->prepare($query)) {
/* Efface la table */
$maxdb->query("DROP TABLE temp.mycity");
/* Exécute une requête */
$stmt->execute();
printf("Erreur : %s.\n", $stmt->sqlstate);
/* Ferme la requête */
$stmt->close();
}
/* Fermeture de la connexion */
$maxdb->close();
?>`

Exemple #2 Style procédural

`<?php
/* Ouvre une connexion */
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Echec de la connexion : %s\n", maxdb_connect_error());
exit();
}
maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");
maxdb_query($link, "INSERT INTO temp.mycity SELECT * FROM hotel.city");
$query = "SELECT name, zip FROM temp.mycity ORDER BY name";
if ($stmt = maxdb_prepare($link, $query)) {
/* Efface la table */
maxdb_query($link, "DROP TABLE temp.mycity");
/* Exécute une requête */
maxdb_stmt_execute($stmt);
printf("Erreur : %s.\n", maxdb_stmt_sqlstate($stmt));
/* Ferme la requête */
maxdb_stmt_close($stmt);
}
/* Fermeture de la connexion */
maxdb_close($link);
?>`

L'exemple ci-dessus va afficher quelque chose de similaire à :

    Warning: maxdb_stmt_execute(): -4004 POS(23) Unknown table name:MYCITY [42000] <...>
    Erreur : 42000.

### Voir aussi

- maxdb_stmt_errno() - Retourne le code erreur pour le dernier appel à une fonction de requête
- maxdb_stmt_error() - Retourne une description de la dernière erreur