Hello folks! welcome back to a new edition of our tutorial on PHP. In this tutorial guide, we are going to be studying about the PHP mysqli_free_result() Function.
The mysqli_free_result() function accepts a result object as a parameter and frees the memory associated with it.
The mysqli_free_result() function accepts a result object as a parameter and frees the memory associated with it.
Syntax
Following below is the syntax to use this function -
mysqli_free_result($result);
Parameter Details
Sr.No | Parameter & Description |
---|---|
1 | result(Mandatory) This is an identifier representing a result object. |
Return Value
This built-in PHP function does not return any values.
PHP Version
This PHP function was first introduced in PHP version 5 and works in all the later versions.
Example1
The following below is an example which demonstrates the usage of PHP mysqli_free_result() function (in a procedural style) -
<?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("Table Created.....\n"); mysqli_query($con, "INSERT INTO myplayers values(1, 'Kennedy', 'Nkpara', 'PortHarcourt', 'Nigeria')"); mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')"); mysqli_query($con, "INSERT INTO myplayers values(3, 'Queen', 'Douglas', 'Texas', 'UnitedStates')"); print("Record Inserted.....\n"); //Retrieving the contents of the table $res = mysqli_query($con, "SELECT * FROM myplayers"); print("Contents of the resultset...\n"); //Contents of the resultset 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"); } //Closing the statement mysqli_free_result($res); //Closing the connection mysqli_close($con); ?>
Output
When the above code is executed, it will produce the following result -
Table Created..... Record Inserted..... Contents of the resultset... ID: 1 First_Name: Kennedy Last_Name: Nkpara Place_Of_Birth: PortHarcourt Country: Nigeria ID: 2 First_Name: Jonathan Last_Name: Trott Place_Of_Birth: CapeTown Country: SouthAfrica ID: 3 First_Name: Queen Last_Name: Douglas Place_Of_Birth: Texas Country: UnitedStates
If you try to get the contents of the result after freeing it as -
$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("Table Created.....\n"); mysqli_query($con, "INSERT INTO myplayers values(1, 'Kennedy', 'Nkpara', 'PortHarcourt', 'Nigeria')"); mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')"); mysqli_query($con, "INSERT INTO myplayers values(3, 'Queen', 'Douglas', 'Texas', 'UnitedStates')"); print("Record Inserted.....\n"); //Retrieving the contents of the table $res = mysqli_query($con, "SELECT * FROM myplayers"); //Closing the statement mysqli_free_result($res); print("Contents of the resultset...\n"); //Contents of the resultset 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"); } //Closing the connection mysqli_close($con);
You are going to get an error as shown below -
Table Created..... Record Inserted..... Contents of the resultset... PHP Warning: mysqli_fetch_row(): Couldn't fetch mysqli_result in E:\PHPExamples\procedure_oriented.php on line 19 Warning: mysqli_fetch_row(): Couldn't fetch mysqli_result in E:\PHPExamples\procedure_oriented.php on line 19
Example2
In an object oriented style the syntax of this PHP function is $result->close(); Following is the example of this function in object oriented style $minus;
<?php //Creating a connection $con = new mysqli("localhost", "root", "password", "mydb"); $con -> query("CREATE TABLE Test(Name VARCHAR(255), AGE INT)"); $con -> query("insert into Test values('Kennedy', 27),('Paul', 30),('Justice', 28)"); print("Table Created.....\n"); $stmt = $con -> prepare( "SELECT * FROM Test WHERE Name in(?, ?)"); $stmt -> bind_param("ss", $name1, $name2); $name1 = 'Kennedy'; $name2 = 'Paul'; //Executing the statement $stmt->execute(); //Retrieving the result $result = $stmt->get_result(); //Number of rows $count = $result->num_rows; print("Number of rows in the result: ".$count); //Closing the result $result->close(); //Closing the statement $stmt->close(); //Closing the connection $con->close(); ?>
Output
When the above code is executed, it will produce the following result below -
Table Created..... Number of rows in the result: 2
Alright guys! This is where we are going to be rounding up for this tutorial post. In our next tutorial, we are going to be discussing about the mysqli_num_fields() Function in PHP.
Do feel free to ask your questions where necessary and we will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.
Do follow us on our various social media handles available and also subscribe to our newsletter to get our tutorial posts delivered directly to your emails.
Thanks for reading and bye for now.
Do feel free to ask your questions where necessary and we will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.
Do follow us on our various social media handles available and also subscribe to our newsletter to get our tutorial posts delivered directly to your emails.
Thanks for reading and bye for now.