Manuel PHP
Précédent |  | Suivant

# maxdb_stmt_sqlstate

(PECL)

maxdb_stmt_sqlstate -- Retourne une erreur SQLSTATE depuis la requête précédante

## Description

string maxdb_stmt_sqlstate ( resource stmt )

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. Object oriented style

`<?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 :

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

## Voir aussi

maxdb_stmt_errno() et maxdb_stmt_error().

Précédent | Sommaire | Suivant
maxdb_stmt_send_long_data | Niveau supérieur | maxdb_stmt_store_result