mysqli_stmt_sqlstate,

(PHP 5)

mysqli_stmt_sqlstate, mysqli_stmt->sqlstate() — Retourne le code SQLSTATE de la dernière opération MySQL

Description

Style procédural

string mysqli_stmt_sqlstate ( mysqli_stmt $stmt )

Style orienté objet (méthode)

class mysqli_stmt {
string 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-handling.html .

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init() .

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.

Notes

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.

Exemples

Exemple 1731. Style orienté objet

<?php
/* Ouvre la connexion */
$mysqli  = new  mysqli ( "localhost" "my_user" "my_password" "world" );

/* Vérifie la connexion */
if ( mysqli_connect_errno ()) {
    
printf ( "Échec de la connexion : %s\n" mysqli_connect_error ());
    exit();
}

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


$query  "SELECT Name, Code FROM myCountry ORDER BY Name" ;
if (
$stmt  $mysqli -> prepare ( $query )) {

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

    
/* Exécution 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 1732. Style procédural

<?php
/* Ouvre la connexion */
$link  mysqli_connect ( "localhost" "my_user" "my_password" "world" );

/* Vérifie la connexion */
if ( mysqli_connect_errno ()) {
    
printf ( "Échec de la connexion : %s\n" mysqli_connect_error ());
    exit();
}

mysqli_query ( $link "CREATE TABLE myCountry LIKE Country" );
mysqli_query ( $link "INSERT INTO myCountry SELECT * FROM Country" );


$query  "SELECT Name, Code FROM myCountry ORDER BY Name" ;
if (
$stmt  mysqli_prepare ( $link $query )) {

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

    
/* Exécution 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.

  

Voir aussi

mysqli_stmt_errno()
mysqli_stmt_error()