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

PHP Grundlagenanleitung

PHP Fortgeschrittene Anleitung

PHP & MySQL

PHP Referenzhandbuch

PHP mysqli_stmt_reset() Funktion und Beispiel

PHP MySQLi Referenzhandbuch

mysqli_stmt_reset() Funktion setzt das vorbereitete Statement zurück

Definition und Verwendung

mysqli_stmt_reset()Die Funktion akzeptiert ein Objekt eines bereitgestellten Statements (früher geöffnet) als Parameter und stellt es wieder her, d.h. es setzt Fehler, nicht gecachte Ergebnisätze und gesendete Daten zurück. Die Abfragen, Bindings und gespeicherten Ergebnisätze werden nicht geändert.

Syntax

mysqli_stmt_reset($stmt);

Parameter

NummerParameter und Beschreibung
1

con (erforderlich)

Dies ist ein Objekt, das das bereitgestellte Statement darstellt.

Rückgabewert

PHP mysqli_stmt_reset() Funktion gibt einen booleschen Wert zurück, im Erfolgsfalltrue, im Falle eines Fehlersfalse.

PHP-Version

Diese Funktion wurde ursprünglich in PHP-Version5eingeführt und kann in allen höheren Versionen verwendet werden.

Online-Beispiel

Nachfolgender Beispiel zeigtmysqli_stmt_reset()Funktionssitzung (prozeduraler Stil)-

<?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(255255))
   print("Tabelle erstellen.....\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("Erfassung der Daten...\n");
   //Inhalt der Tabelle abrufen
   $stmt = mysqli_prepare($con, "SELECT * FROM myplayers);
   //Anweisung ausführen
   mysqli_stmt_execute($stmt);
   $res = mysqli_stmt_reset($stmt);
   if($res){
      print("Zurücksetzen erfolgreich");	
   }
   //Werte in den Ergebnissen an Variablen binden
   $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");
   }
   //Anweisung beenden
   mysqli_stmt_close($stmt);
   //Verbindung schließen
   mysqli_close($con);
?>

Ausgabeergebnis

Erfassung der Daten...
Zurücksetzen erfolgreich

Da wir die Anweisung in der Mitte zurückgesetzt haben, wird der Inhalt des Ergebnisses ohne reset-Funktion nicht gedruckt, das Programm generiert folgenden Ausgabe:-

Erfassung der Daten...
Reset Successful
E:\PHPExamples>php procedure_oriented.php
Tabelle erstellen.....
Erfassung der Daten...
Id: 1
fname: Sikhar
lname: Dhawan
pob: Delhi
country: India
Id: 2
fname: Jonathan
lname: Trott
pob: CapeTown
country: SouthAfrica

Online-Beispiel

In der objektorientierten Syntax ist die Syntax dieser Funktion$stmt-> close();。Hier ist ein Beispiel für diese Funktion im objektorientierten Stil;

<?php
   //Verbindung herstellen
   $con = new mysqli("localhost", "root", "password", "mydb");
   //Eine Tabelle erstellen
   $con -> query("CREATE TABLE players(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255255))
   print("Tabelle erstellen.....\n");
   //Werte in die Tabelle einfügen, indem ein vorbereitetes Statement verwendet wird
   $stmt = $con -> prepare("INSERT INTO players values(?, ?, ?, ?, ?");
   $res = $stmt->reset();
   if($res){
      print("Reset Successful");	
   }
   //Werte an die Parametermarkern binden
   $stmt -> bind_param("issss", $id, $fname, $lname, $pob, $country);
   $id = 1;
   $fname = 'Shikhar';
   $lname = 'Dhawan';
   $pob = 'Delhi';
   $country = 'India';
   //Anweisung ausführen
   $stmt->execute();
   //Anweisung beenden
   $stmt->close();
   //Verbindung schließen
   $con->close();
?>

Ausgabeergebnis

Tabelle erstellen.....
Reset Successful

und der Inhalt der Spieler-Tabelle wird leer sein-

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

Wenn die Funktion reset() gelöscht wird und das obige Programm ausgeführt wird, dann wird der Inhalt der Tabelle players wie folgt aussehen:

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

PHP MySQLi Referenzhandbuch