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().

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:51