(PHP 5)
mysqli_stmt_sqlstate, mysqli_stmt->sqlstate() — Retourne le code SQLSTATE de la dernière opération MySQL
Style procédural
string mysqli_stmt_sqlstate ( mysqli_stmt $stmt )Style orienté objet (méthode)
class mysqli_stmt {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 .
Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init() .
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.
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.
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.
mysqli_stmt_errno() |
mysqli_stmt_error() |