English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel PHP de base

Tutoriel PHP avancé

PHP et MySQL

Manuel de référence PHP

Utilisation et exemple de la fonction mysqli_sqlstate() de PHP

PHP MySQLi Référence Manuel

La fonction mysqli_sqlstate() retourne le dernier code d'erreur SQLSTATE de l'erreur.

Définition et utilisation

mysqli_sqlstate()La fonction retourne une chaîne de caractères contenant le code d'erreur SQLSTATE de l'opération SQL précédente. Le code d'erreur est défini par 5 caractères, '00000' signifie qu'il n'y a pas eu d'erreur. Le code d'erreur est défini par ANSI SQL et ODBC.
Remarque : Il est à noter que tous les erreurs MySQL ne sont pas mappées à SQLSTATE, les messages d'erreur non mappés utilisent HY000 (erreur composite) pour représenter.

Syntaxe

mysqli_sqlstate($con)

Paramètre

NuméroParamètres et descriptions
1

con(obligatoire)

C'est un objet qui représente la connexion avec le serveur MySQL.

Valeur de retour

La fonction mysqli_sqlstate() de PHP retourne une valeur de chaîne de caractères qui représente l'erreur SQLSTATE qui s'est produite pendant l'opération MySQL précédente. Si il n'y a pas d'erreur, cette fonction retourne00000.

Version PHP

Cette fonction a été introduite dans la version PHP5introduit et peut être utilisé dans toutes les versions plus élevées.

Exemple en ligne

L'exemple suivant montremysqli_sqlstate()Utilisation de la fonction (style procédural)-

<?php
   //Établir une connexion
   con = mysqli_connect("localhost", "root", "password", "mydb");
   //Requête pour rechercher tous les enregistrements de la table
   mysqli_query($con, "Select * from WrongTable");
   //SQL State
   $state = mysqli_sqlstate($con);
   print("Erreur d'état SQL: ".$state);
   //Fermer la connexion
   mysqli_close($con);
?>

Résultat de la sortie

Erreur d'état SQL: 42S02

Exemple en ligne

Dans le style orienté objet, la syntaxe de cette fonction est$con-> sqlstate. Voici un exemple de cette fonction dans un style orienté objet-

<?php
   //Établir une connexion
   $con = new mysqli("localhost", "root", "password", "mydb");
   //Requête pour rechercher tous les enregistrements de la table employee
   $con -> query("Select FIRST_NAME, LAST_NAME, AGE from employee");
   //SQL State
   $state = $con-> sqlstate;
   print("Erreur d'état SQL: ".$state);
   //Fermer la connexion
   $con -> close();
?>

Résultat de la sortie

Erreur d'état SQL: 42000

Exemple en ligne

Voicimysqli_sqlstate()Un autre exemple de fonction-

<?php
   //Établir une connexion
   con = mysqli_connect("localhost", "root", "password", "mydb");
   //Requête pour sélectionner toutes les lignes de la table employee
   mysqli_query($con, "SELECT * FROM employee");
   print("Erreur d'état SQL: " . mysqli_sqlstate($con) . "\n");
   //Requête pour mettre à jour les lignes de la table employee
   mysqli_query($con, "UPDATE employee set INCOME=INCOME+5000 where FIRST_NAME in (*);
   print("Erreur d'état SQL: " . mysqli_sqlstate($con) . "\n");
   //Requête pour insérer une ligne dans la table employee
   mysqli_query($con, "INSERT INTO employee VALUES (Archana, 'Mohonthy', 30, 'M', 13000, 106);
   print("Erreur d'état SQL: " . mysqli_sqlstate($con) . "\n");
   //Fermer la connexion
   mysqli_close($con);
?>

Résultat de la sortie

Erreur d'état SQL: 00000
Erreur d'état SQL: 42000
Erreur d'état SQL: 42S22

Exemple en ligne

Retourne le code d'erreur SQLSTATE de la dernière opération MySQL :

<?php
   $connection_mysql = mysqli_connect("localhost", "root", "password", "mydb");
   
   if (mysqli_connect_errno($connection_mysql)){
      echo "Échec de la connexion MySQL: " . mysqli_connect_error();
   }
   
   //Supposons que nous ayons déjà une table nommée Persons dans la base de données mydb
   $sql = "CREATE TABLE Persons (Firstname VARCHAR(30),Lastname VARCHAR(30),Age INT)";
   
   if (!mysqli_query($connection_mysql,$sql)){
      echo "SQLSTATE error: " . mysqli_sqlstate($connection_mysql);
   }
   
   mysqli_close($connection_mysql);
?>

Résultat de la sortie

SQLSTATE error: 42S01

PHP MySQLi Référence Manuel