La fonction mysqli_stmt :: $ sqlstate () est utilisée pour obtenir le code d'état SQL de l'exécution de la dernière instruction.
usage:
string mysqli_stmt::$sqlstate();
Paramètres: cette fonction n'a pas de paramètres.
Valeur de retour: cette fonction renvoie une chaîne représentant le code d'état SQL.
Exemple:
// 创建数据库连接$mysqli = new mysqli("localhost", "username", "password", "database"); // 准备SQL语句$stmt = $mysqli->prepare("SELECT * FROM users WHERE age > ?"); // 绑定参数$age = 18; $stmt->bind_param("i", $age); // 执行查询$stmt->execute(); // 获取SQL状态码$sqlstate = $stmt->sqlstate(); if ($sqlstate == '00000') { echo "查询成功!"; } else { echo "查询失败,错误码:" . $sqlstate; } // 关闭语句和数据库连接$stmt->close(); $mysqli->close();
Dans l'exemple ci-dessus, nous créons d'abord une connexion de base de données, puis préparons une instruction SQL avec des paramètres à l'aide de la méthode Pread (). Ensuite, nous utilisons la méthode bind_param () pour lier un paramètre, puis exécutons la requête. Enfin, nous utilisons la méthode SQLState () pour obtenir le code d'état SQL de la dernière requête et publier différents messages en fonction des différents codes d'état.
Il convient de noter que le code d'état SQL est une chaîne à cinq chiffres qui commence par un nombre pour représenter un état d'exécution SQL différent. Dans l'exemple, nous déterminons si le code d'état est «00000», indiquant que la requête est réussie. Si le code d'état n'est pas «00000», cela signifie que la requête a échoué et que le traitement des erreurs peut être effectué en fonction du code d'état spécifique.