English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
mysqli_stmt_error()函数返回发生错误的描述
mysqli_stmt_error()函数返回在执行最后一条语句期间发生的错误的描述。
mysqli_stmt_error($stmt)
序号 | 参数及说明 |
---|---|
1 | stmt(必需) 这是一个表示语句的对象。 |
PHP mysqli_stmt_error()函数返回一个字符串值,该字符串值表示对在执行最后一条语句期间发生的错误的描述。如果没有错误,则此函数返回一个空字符串。
此函数最初是在PHP版本5中引入的,并且可以在所有更高版本中使用。
以下示例演示了mysqli_stmt_error()函数的用法(面向过程风格)-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, Nom_Prenom VARCHAR(255), Nom_Prenom CHAR(255), Lieu_Naissance CHAR(255), Pays CHAR(255))"); print("创建表.....\n"); mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); print("Insérer l'enregistrement.....\n"); $stmt = mysqli_prepare($con, "SELECT * FROM myplayers"); mysqli_query($con, "DROP TABLE myplayers"); //Exécuter l'instruction mysqli_stmt_execute($stmt); //错误 $error = mysqli_stmt_error($stmt); print("Erreur : " . $error); //结束语 mysqli_stmt_close($stmt); //Fermer la connexion mysqli_close($con); ?>
Afficher le résultat
Créer la table..... Insérer l'enregistrement..... Erreur : La table 'mydb.myplayers' n'existe pas
在面向对象风格中,此函数的语法为$con->error。以下是面向对象风格的此函数的示例-
<?php //建立连接 $con = new mysqli("localhost", "root", "password", "mydb"); $con -> query("CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Nom_Prenom CHAR(255), Lieu_Naissance CHAR(255), Pays CHAR(255))"); print("创建表.....\n"); $con -> query("INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')"); print("Insérer l'enregistrement.....\n"); $stmt = $con ->prepare("SELECT * FROM myplayers"); $con ->query("DROP TABLE myplayers"); //Exécuter l'instruction $stmt->execute(); //Erreur $error = $stmt ->error; print("Erreur: " . $error); //Terminer l'instruction $stmt->close(); //Fermer la connexion $con->close(); ?>
Afficher le résultat
Créer la table..... Insérer l'enregistrement..... Erreur : La table 'mydb.myplayers' n'existe pas
Si l'objet de l'instruction exécutée dernière n'a pas d'erreur, cette fonction renvoie une chaîne vide-
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); mysqli_query($con, "CREATE TABLE myplayers(ID INT, Nom_Prenom VARCHAR(255), Nom_Prenom CHAR(255), Lieu_Naissance CHAR(255), Pays CHAR(255))"); print("Table créée.....\n"); $query = "INSERT INTO myplayers values("1, 'Sikhar', 'Dhawan', 'Delhi', 'Inde'), (2, 'Jonathan', 'Trott', 'Cape Town', 'Afrique du Sud'), (3, 'Kumara', 'Sangakkara', 'Matale', 'Sri Lanka')"; //Préparer l'instruction $stmt = mysqli_prepare($con, '$query'); //Exécuter cette instruction mysqli_stmt_execute($stmt); print("Insérer l'enregistrement.....\n"); //Erreur $error = mysqli_stmt_error($stmt); print("Erreur : " . $error); //Terminer l'instruction mysqli_stmt_close($stmt); //Fermer la connexion mysqli_close($con); ?>
Afficher le résultat
Créer la table..... Insérer l'enregistrement..... Erreur :