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

PHP Grundanleitung

PHP Fortgeschrittene Anleitung

PHP & MySQL

PHP Referenzhandbuch

Verwendung und Beispiel der Funktion PHP mysqli_free_result()

PHP MySQLi Referenzhandbuch

Die mysqli_free_result()-Funktion gibt den Ergebnisspeicher frei.

Definition und Verwendung

Ein PHP-Ergebnisobjekt (mysqli_result-Klasse) stellt die MySQL-Ergebnisse dar, die von einer SELECT- oder DESCRIBE- oder EXPLAIN-Abfrage zurückgegeben werden.

mysqli_free_result()Die Funktion akzeptiert ein Resultatobjekt als Parameter und gibt das damit verbundene Speicher freigeben.

Syntax

mysqli_free_result($result);

Parameter

NummerParameter und Beschreibung
1

result (erforderlich)

Dies ist die Identifikation des Resultatobjekts.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

PHP-Version

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

Online-Beispiel

Nachfolgender Beispiel zeigtmysqli_free_result()Verwendung der Funktion (prozeduraler Stil), Zeilen aus dem Ergebnissatz abrufen und dann den Ergebnissatz-Speicher freigeben:

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, Vorname VARCHAR(255), Nachname VARCHAR(255), Geburtsort VARCHAR(255), Land VARCHAR(255))");
   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', 'Cape Town', 'South Africa')");
   mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Sri Lanka')");
   print("Erfolgreich eingefügte Zeile...\n");
   //Inhalt der Tabelle abrufen
   $res = mysqli_query($con, "SELECT * FROM myplayers");
   print("Inhalte des Ergebnissatzes...\n");
   //Inhalt der Ergebnismenge
   while ($row = mysqli_fetch_row($res)) {
      print("ID: ".$row[0]."\n");
      print("Vorname: ".$row[1]."\n");
      print("Nachname: ".$row[2]."\n");
      print("Geburtsort: ".$row[3]."\n");
      print("Land: ".$row[4]."\n");
   }
   //Ende der Anweisung, Speicher freigeben
   mysqli_free_result($res);
   //Verbindung schließen
   mysqli_close($con);
?>

Ausgabeergebnis

Tabelle erstellen.....
Eingabezeile.....
Inhalte des Ergebnissatzes...
ID: 1
First_Name: Sikhar
Nachname: Dhawan
Geburtsort: Delhi
Land: India
ID: 2
Vorname: Jonathan
Nachname: Trott
Geburtsort: Cape Town
Land: South Africa
ID: 3
Vorname: Kumara
Nachname: Sangakkara
Geburtsort: Matale
Land: Sri Lanka

Wenn Sie versuchen, den Inhalt der Ergebnismenge abzurufen, nachdem Sie die Ergebnisse freigegeben haben-

$con = mysqli_connect("localhost", "root", "password", "mydb");
mysqli_query($con, "CREATE TABLE myplayers(ID INT, Vorname VARCHAR(255), Nachname VARCHAR(255), Geburtsort VARCHAR(255), Land VARCHAR(255))");
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', 'Cape Town', 'South Africa')");
mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Sri Lanka')");
print("Erfolgreich eingefügte Zeile...\n");
//Inhalt der Tabelle abrufen
$res = mysqli_query($con, "SELECT * FROM myplayers");
//Anweisung beenden
mysqli_free_result($res);
print("Inhalt der Ergebnismenge...\n");
//Inhalt der Ergebnismenge
while ($row = mysqli_fetch_row($res)) {
   print("ID: ".$row[0]."\n");
   print("Vorname: ".$row[1]."\n");
   print("Nachname: ".$row[2]."\n");
   print("Geburtsort: ".$row[3]."\n");
   print("Land: ".$row[4]."\n");
}
//Verbindung schließen
mysqli_close($con);

Sie erhalten die folgenden Fehler

Tabelle erstellen.....
Eingabezeile.....
Inhalt der Ergebnismenge...
PHP-Warnung: mysqli_fetch_row(): Konnte mysqli_result nicht in E:\PHPExamples\procedure_oriented.php Zeile 19
Warnung: mysqli_fetch_row(): Konnte mysqli_result nicht in E:\PHPExamples\procedure_oriented.php Zeile 19

Online-Beispiel

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

<?php
   //Verbindung herstellen
   $con = new mysqli("localhost", "root", "password", "mydb");
   $con -> query("CREATE TABLE Test(Name VARCHAR(255), AGE INT)");
   $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27);
   print("Tabelle erstellen.....\n");
   $stmt = $con -> prepare("SELECT * FROM Test WHERE Name in(?, ?)");
   $stmt -> bind_param("ss", $name1, $name2);
   $name1 = 'Raju';
   $name2 = 'Rahman';
   //Anweisung ausführen
   $stmt->execute();
   //Ergebnis abrufen
   $result = $stmt->get_result();
   //Zeilenanzahl
   $count = $result->num_rows;
   print("Ergebniszeilen: ".$count);
   //Ergebnis schließen
   $result->close();
   //Anweisung beenden
   $stmt->close();
   //Verbindung schließen
   $con->close();
?>

Ausgabeergebnis

Tabelle erstellen.....
Ergebniszeilen: 2

PHP MySQLi Referenzhandbuch