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

PHP 基础教程

PHP 高级教程

PHP & MySQL

PHP 参考手册

PHP mysqli_stmt_reset() 函数用法及示例

PHP MySQLi Référence Manuel

mysqli_stmt_reset()函数重置预处理语句

定义和用法

mysqli_stmt_reset()函数接受一个准备好的语句对象(先前已打开)作为参数,并对其进行重置,即它更改会重置错误,未缓冲的结果集和发送的数据。查询,绑定和存储的结果集将不会更改。

语法

mysqli_stmt_reset($stmt);

参数

序号参数及说明
1

con(必需)

这是表示准备好的语句的对象。

返回值

PHP mysqli_stmt_reset()函数返回一个布尔值,成功时为true,失败时为false

PHP版本

此函数最初是在PHP版本5中引入的,并且可以在所有更高版本中使用。

Exemple en ligne

以下示例演示了mysqli_stmt_reset()函数的用法(面向过程风格)-

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("Création de la table.....\n");
   mysqli_query($con, "INSERT INTO myplayers values(1'; 'Sikhar', 'Dhawan', 'Delhi', 'India');
   mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')");
   print("Insérer un enregistrement.....\n");
   //Récupérer le contenu de la table
   $stmt = mysqli_prepare($con, "SELECT * FROM myplayers");
   //Exécuter l'instruction
   mysqli_stmt_execute($stmt);
   $res = mysqli_stmt_reset($stmt);
   if($res){
      print("Réinitialisation réussie");	
   }
   //Lier les valeurs du résultat aux variables
   $res = mysqli_stmt_bind_result($stmt, $id, $fname, $lname, $pob, $country);
   while (mysqli_stmt_fetch($stmt)) {
      print("Id: ").$id."\n");
      print("fname: ").$fname."\n");
      print("lname: ").$lname."\n");
      print("pob: ").$pob."\n");
      print("country: ").$country."\n");
      print("\n");
   }
   //Terminer l'instruction
   mysqli_stmt_close($stmt);
   //Fermer la connexion
   mysqli_close($con);
?>

Résultat de la sortie

Insérer un enregistrement.....
Réinitialisation réussie

Comme nous avons réinitialisé cette instruction au milieu, le contenu du résultat ne sera pas affiché sans fonction reset, ce programme génère le suivant en sortie-

Insérer un enregistrement.....
Reset Successful
E:\PHPExamples>php procedure_oriented.php
Création de la table.....
Insérer un enregistrement.....
Id: 1
fname: Sikhar
lname: Dhawan
pob: Delhi
country: India
Id: 2
fname: Jonathan
lname: Trott
pob: CapeTown
country: SouthAfrica

Exemple en ligne

Dans un style orienté objet, la syntaxe de cette fonction est$stmt-> close();。Voici un exemple de cette fonction dans un style orienté objet ;

<?php
   //Établir une connexion
   $con = new mysqli("localhost", "root", "password", "mydb");
   //Création d'une table
   $con -> query("CREATE TABLE players(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("Création de la table.....\n");
   //Insérer des valeurs dans la table en utilisant une instruction préparée
   $stmt = $con -> prepare("INSERT INTO players values(?, ?, ?, ?, ?");
   $res = $stmt->reset();
   if($res){
      print("Reset Successful");	
   }
   //Liage de valeurs aux marqueurs de paramètres
   $stmt -> bind_param("issss", $id, $fname, $lname, $pob, $country);
   $id = 1;
   $fname = 'Shikhar';
   $lname = 'Dhawan';
   $pob = 'Delhi';
   $country = 'India';
   //Exécuter l'instruction
   $stmt->execute();
   //Terminer l'instruction
   $stmt->close();
   //Fermer la connexion
   $con->close();
?>

Résultat de la sortie

Création de la table.....
Reset Successful

et le contenu de la table des joueurs sera vide-

mysql> drop table players;
Query OK, 0 rows affected (0.26 sec)

Si vous supprimez la fonction reset() et exécutez le programme ci-dessus, le contenu de la table players sera comme suit :

mysql> select * from players;
+------+------------+-----------+----------------+---------+
| ID           | First_Name   | Last_Name                         | Place_Of_Birth | Country       |
+------+------------+-----------+----------------+---------+
|    1 | Shikhar       | Dhawan       | Delhi                               | Inde       |
+------+------------+-----------+----------------+---------+
1 row in set (0.00 sec)

PHP MySQLi Référence Manuel