Forum und email

maxdb_stmt_sqlstate

(PECL maxdb:1.0-7.6.00.38)

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

Example#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();
?>

Example#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.