(PECL maxdb >= 1.0)
maxdb_stmt_sqlstate — Retourne une erreur SQLSTATE depuis la requête précédente
$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.
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.
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.