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

PHP Basic Tutorial

PHP Advanced Tutorial

PHP & MySQL

PHP Reference Manual

Usage and example of PHP mysqli_free_result() function

PHP MySQLi Référence Manuel

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(required)

This is the identifier representing the result object.

Return value

This function does not return any value.

PHP version

This function was originally in PHP version5introduced and can be used in all higher versions.

Exemple en ligne

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

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, Prénom VARCHAR(255), Nom_de_Famille VARCHAR(255), Lieu_de_Naissance VARCHAR(255), Pays VARCHAR(255))");
   print("Créer une table.....\n");
   mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'Inde')");
   mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'Cape Town', 'Afrique du Sud')");
   mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Sri Lanka')");
   print("Insertion des enregistrements.....\n");
   //Contenu de la table de recherche
   $res = mysqli_query($con, "SELECT * FROM myplayers");
   print("Contents of the resultset...\n");
   //Contenu du jeu de résultats
   while ($row = mysqli_fetch_row($res)) {
      print("ID: ".$row[0]."\n");
      print("Prénom: ".$row[1]."\n");
      print("Nom_de_Famille: ".$row[2]."\n");
      print("Lieu_de_Naissance: ".$row[3]."\n");
      print("Pays: ".$row[4]."\n");
   }
   //End statement, release memory
   mysqli_free_result($res);
   //Fermer la connexion
   mysqli_close($con);
?>

Résultat de la sortie

Créer une table.....
Insertion d'enregistrements.....
Contents of the resultset...
ID: 1
First_Name: Sikhar
Nom_de_Famille: Dhawan
Lieu_de_Naissance: Delhi
Pays: Inde
ID: 2
Prénom: Jonathan
Nom_de_Famille: Trott
Lieu_de_Naissance: Cape Town
Pays: Afrique du Sud
ID: 3
Prénom: Kumara
Nom_de_Famille: Sangakkara
Lieu_de_Naissance: Matale
Pays: Sri Lanka

Si vous essayez d'obtenir le contenu des résultats après avoir libéré les résultats-

$con = mysqli_connect("localhost", "root", "password", "mydb");
mysqli_query($con, "CREATE TABLE myplayers(ID INT, Prénom VARCHAR(255), Nom_de_Famille VARCHAR(255), Lieu_de_Naissance VARCHAR(255), Pays VARCHAR(255))");
print("Créer une table.....\n");
mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'Inde')");
mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'Cape Town', 'Afrique du Sud')");
mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Sri Lanka')");
print("Insertion des enregistrements.....\n");
//Contenu de la table de recherche
$res = mysqli_query($con, "SELECT * FROM myplayers");
//Terminer l'instruction
mysqli_free_result($res);
print("Contenu du jeu de résultats...\n");
//Contenu du jeu de résultats
while ($row = mysqli_fetch_row($res)) {
   print("ID: ".$row[0]."\n");
   print("Prénom: ".$row[1]."\n");
   print("Nom_de_Famille: ".$row[2]."\n");
   print("Lieu_de_Naissance: ".$row[3]."\n");
   print("Pays: ".$row[4]."\n");
}
//Fermer la connexion
mysqli_close($con);

Vous recevrez l'erreur suivante

Créer une table.....
Insertion d'enregistrements.....
Contenu du jeu de résultats...
PHP Avertissement: mysqli_fetch_row() : Impossible de récupérer mysqli_result dans E:\PHPExamples\procedure_oriented.php à la ligne 19
Avertissement: mysqli_fetch_row() : Impossible de récupérer mysqli_result dans E:\PHPExamples\procedure_oriented.php à la ligne 19

Exemple en ligne

Dans le style orienté objet, la syntaxe de cette fonction est$result-> fermer();.Voici un exemple de cette fonction dans un style orienté objet ;

<?php
   //Établir la connexion
   $con = new mysqli("localhost", "root", "password", "mydb");
   $con -> query("CREATE TABLE Test(Name VARCHAR(255), ÂGE INT)");
   $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27);
   print("Créer une table.....\n");
   $stmt = $con -> préparer("SELECT * FROM Test WHERE Name in(?, ?)
   $stmt -> lie_param("ss", $name1, $name2);
   $name1 = 'Raju';
   $name2 = 'Rahman';
   //Exécuter l'instruction
   $stmt->exécuter();
   //Résultat de la recherche
   $result = $stmt->get_result();
   //Nombre de lignes
   $count = $result->num_rows;
   print("Nombre de lignes dans le résultat: ".$count);
   //Fermer le résultat
   $result->fermer();
   //Terminer l'instruction
   $stmt->fermer();
   //Fermer la connexion
   $con->fermer();
?>

Résultat de la sortie

Créer une table.....
Nombre de lignes dans le résultat: 2

PHP MySQLi Référence Manuel