mysqli_stmt_sqlstate
mysqli_stmt->sqlstate()
(PHP 5)
mysqli_stmt->sqlstate() — Retourne le code SQLSTATE de la dernière opération MySQL
Description
Style procédural
Style orienté objet (méthode)
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 » https://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
Example#1 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();
?>
Example#2 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.