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

PHP Basic Tutorial

PHP Advanced Tutorial

PHP & MySQL

PHP Reference Manual

PHP mysqli_free_result() function usage and example

PHP MySQLi Manuale di riferimento

The mysqli_free_result() function releases the result memory.

Definition and usage

A PHP result object (mysqli_result class) represents the MySQL result returned by a SELECT or DESCRIBE or EXPLAIN query.

mysqli_free_result()The function accepts a result object as a parameter and releases the memory associated with it.

Syntax

mysqli_free_result($result);

Parameter

Serial numberParameters and description
1

result(必需)

This is the identifier representing the result object.

Return value

This function does not return any value.

PHP version

This function was initially introduced in PHP version 5 and can be used in all higher versions.

Esempio online

The following example demonstratesmysqli_free_result()Usage of the function (procedural style), get rows from the result set, then release the result set memory:

<?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("Creare tabelle.....\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')");
   mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')");
   print("插入记录.....\n");
   //Contenuto della tabella di ricerca
   $res = mysqli_query($con, "SELECT * FROM myplayers");
   print("Contents of the resultset...\n");
   //Contenuto del set di risultati
   while ($row = mysqli_fetch_row($res)) {
      print("ID: ".$row[0]."\n");
      print("First_Name: ".$row[1]."\n");
      print("Last_Name: ".$row[2]."\n");
      print("Place_Of_Birth: ".$row[3]."\n");
      print("Country: ".$row[4]."\n");
   }
   //End statement, release memory
   mysqli_free_result($res);
   //Chiudere la connessione
   mysqli_close($con);
?>

Risultato di output

Creare tabelle.....
Inserimento di record.....
Contents of the resultset...
ID: 1
First_Name: Sikhar
Last_Name: Dhawan
Place_Of_Birth: Delhi
Country: India
ID: 2
First_Name: Jonathan
Last_Name: Trott
Place_Of_Birth: CapeTown
Country: SouthAfrica
ID: 3
First_Name: Kumara
Last_Name: Sangakkara
Place_Of_Birth: Matale
Country: Srilanka

Se provi a ottenere il contenuto dei risultati dopo averli liberati -

$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("Creare tabelle.....\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')");
mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')");
print("插入记录.....\n");
//Contenuto della tabella di ricerca
$res = mysqli_query($con, "SELECT * FROM myplayers");
//Fine della query
mysqli_free_result($res);
print("结果集的内容...\n");
//Contenuto del set di risultati
while ($row = mysqli_fetch_row($res)) {
   print("ID: ".$row[0]."\n");
   print("First_Name: ".$row[1]."\n");
   print("Last_Name: ".$row[2]."\n");
   print("Place_Of_Birth: ".$row[3]."\n");
   print("Country: ".$row[4]."\n");
}
//Chiudere la connessione
mysqli_close($con);

Riceverai l'errore come segue:

Creare tabelle.....
Inserimento di record.....
Contenuto del set di risultati...
PHP Attenzione: mysqli_fetch_row(): Non è possibile recuperare mysqli_result in E:\PHPExamples\procedure_oriented.php alla riga 19
Attenzione: mysqli_fetch_row(): Non è possibile recuperare mysqli_result in E:\PHPExamples\procedure_oriented.php alla riga 19

Esempio online

Nello stile orientato agli oggetti, la sintassi di questa funzione è$result->close();。Di seguito è riportato un esempio di questa funzione nello stile orientato agli oggetti;

<?php
   //Stabilire la connessione
   $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("Creare tabelle.....\n");
   $stmt = $con->prepare("SELECT * FROM Test WHERE Name in(?, ?)");
   $stmt->bind_param("ss", $name1, $name2);
   $name1 = 'Raju';
   $name2 = 'Rahman';
   //Eseguire la query
   $stmt->execute();
   //Recuperare i risultati
   $result = $stmt->get_result();
   //Numero di righe
   $count = $result->num_rows;
   print("Righe nel risultato: ".$count);
   //Chiusura del risultato
   $result->close();
   //Fine della query
   $stmt->close();
   //Chiudere la connessione
   $con->close();
?>

Risultato di output

Creare tabelle.....
Righe nel risultato: 2

PHP MySQLi Manuale di riferimento