mysqli_stmt_sqlstate

(PHP 5)

mysqli_stmt_sqlstate -- Retourne le code SQLSTATE de la dernière opération MySQL

Description

string mysqli_stmt_sqlstate ( mysqli_stmt stmt )

mysqli_stmt_sqlstate() retourne une chaîne contenant le code d'erreur SQLSTATE de la commande la plus récente qui a été préparée. Le code d'erreur est constitué de 5 caractères. '00000' Les valeurs des codes d'erreurs sont spécifiées par les normes ANSI SQL et ODBC. Pour la liste complète des valeurs, voyez le fichier http://dev.mysql.com/doc/mysql/en/Error-returns.html.

Note : Notez que toutes les erreurs MySQL n'ont pas encore de correspondance en SQLSTATE. La valeur HY000 (erreur générale) est utilisée pour les erreurs sans correspondance.

Valeurs de retour

Retourne la chaîne contenant le code d'erreur SQLSTATE. Le code d'erreur est constitué de 5 caractères. '00000' représente l'absence d'erreur.

Voir aussi

mysqli_stmt_errno() et mysqli_stmt_error().

Exemples

Exemple 1. Style orienté objet

<?php
/* Ouvre la connexion */
$mysqli = new mysqli("localhost", "utilisateur", "mot_de_passe", "base");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    
printf("Connexion échouée : %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE mon_Pays LIKE Pays");
$mysqli->query("INSERT INTO mon_Pays SELECT * FROM Pays");


$query = "SELECT Nom, Code FROM mon_Pays ORDER BY Nom";
if (
$stmt = $mysqli->prepare($query)) {

    
/* Effacement de la table */
    
$mysqli->query("DROP TABLE mon_Pays");

    
/* Execution de la requête */
    
$stmt->execute();

    
printf("Erreur : %s.\n", $stmt->sqlstate);

    
/* Fermeture de la commande */
    
$stmt->close();
}

/* Fermture de la connexion */
$mysqli->close();
?>

Exemple 2. Style procédural

<?php
/* Ouvre la connexion */
$link = mysqli_connect("localhost", "utilisateur", "mot_de_passe", "base");

/* Vérifie la connexion */
if (mysqli_connect_errno()) {
    
printf("Connexion échouée : %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TABLE mon_Pays LIKE Pays");
mysqli_query($link, "INSERT INTO mon_Pays SELECT * FROM Pays");


$query = "SELECT Nom, Code FROM mon_Pays ORDER BY Nom";
if (
$stmt = mysqli_prepare($link, $query)) {

    
/* Effacement de la table */
    
mysqli_query($link, "DROP TABLE mon_Pays");

    
/* Execution de la requête */
    
mysqli_stmt_execute($stmt);

    
printf("Erreur : %s.\n", mysqli_stmt_sqlstate($stmt));

    
/* Fermeture de la commande */
    
mysqli_stmt_close($stmt);
}

/* Fermeture de la connexion */
mysqli_close($link);
?>

L'exemple ci-dessus va afficher :

Erreur : 42S02.