- PHP mysqli_free_result() Function
- Syntax
- Parameters
- Return Values
- PHP Version
- Example
- Example
- mysql_free_result
- Описание
- Список параметров
- Возвращаемые значения
- Примеры
- Примечания
- Смотрите также
- mysql_free_result
- Описание
- Список параметров
- Возвращаемые значения
- Примеры
- Примечания
- Смотрите также
- mysql_free_result
- Description
- Parameters
- Return Values
- Examples
- Notes
- See Also
PHP mysqli_free_result() Function
A PHP result object (of the class mysqli_result) represents the MySQL result, returned by the SELECT or, DESCRIBE or, EXPLAIN queries.
The mysqli_free_result() function accepts a result object as a parameter and frees the memory associated with it.
Syntax
Parameters
This is an identifier representing a result object.
Return Values
This function doesn’t return any values.
PHP Version
This function was first introduced in PHP Version 5 and works works in all the later versions.
Example
Following example demonstrates the usage of the mysqli_free_result() function (in procedural style) −
//Closing the statement mysqli_free_result($res); //Closing the connection mysqli_close($con); ?>
This will produce following result −
Table Created. Record Inserted. 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
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, '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("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 will 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
Example
In object oriented style the syntax of this function is $result->close(); Following is the example of this function in object oriented style $minus;
query("CREATE TABLE Test(Name VARCHAR(255), AGE INT)"); $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)"); print("Table Created. \n"); $stmt = $con -> prepare( "SELECT * FROM Test WHERE Name in(?, ?)"); $stmt -> bind_param("ss", $name1, $name2); $name1 = 'Raju'; $name2 = 'Rahman'; //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(); ?>
This will produce following result −
Table Created. Number of rows in the result: 2
mysql_free_result
Данный модуль устарел, начиная с версии PHP 5.5.0, и удалён в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API. Альтернативы для данной функции:
Описание
mysql_free_result() высвободит всю память, занимаемую результатом, на который ссылается переданный дескриптор result .
mysql_free_result() нуждается в вызове только в том случае, если вы всерьёз обеспокоены тем, сколько памяти используют ваши запросы к БД, возвращающие большое количество данных. Вся память, используемая для хранения этих данных автоматически очистится в конце работы скрипта.
Список параметров
Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query() .
Возвращаемые значения
Возвращает true в случае успешного выполнения или false в случае возникновения ошибки.
Если в качестве параметра result передан не ресурс, то будет вызвана ошибка уровня E_WARNING. Стоит также заметить, что mysql_query() возвращает resource только для запросов SELECT, SHOW, EXPLAIN и DESCRIBE.
Примеры
Пример #1 Пример использования mysql_free_result()
$result = mysql_query ( «SELECT id,email FROM people WHERE » );
if (! $result ) echo ‘Не удалось выполнить запрос: ‘ . mysql_error ();
exit;
>
/* Используем результат, подразумевая, что после этого он нам больше не нужен */
$row = mysql_fetch_assoc ( $result );
?php
/* Теперь освобождаем результат и продолжаем дальнейшую работу над нашим скриптом */
mysql_free_result ( $result );
echo $row [ ‘id’ ];
echo $row [ ’email’ ];
?>
Примечания
Замечание:
Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_freeresult()
Смотрите также
mysql_free_result
Данное расширение устарело, начиная с версии PHP 5.5.0, и будет удалено в будущем. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API и соответствующий FAQ для получения более подробной информации. Альтернативы для данной функции:
Описание
mysql_free_result() высвободит всю память, занимаемую результатом, на который ссылается переданный дескриптор result .
mysql_free_result() нуждается в вызове только в том случае, если вы всерьёз обеспокоены тем, сколько памяти используют ваши запросы к БД, возвращающие большое количество данных. Вся память, используемая для хранения этих данных автоматически очистится в конце работы скрипта.
Список параметров
Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query() .
Возвращаемые значения
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Если в качестве параметра result передан не ресурс, то будет вызвана ошибка уровня E_WARNING. Стоит также заметить, что mysql_query() возвращает resource только для запросов SELECT, SHOW, EXPLAIN и DESCRIBE.
Примеры
Пример #1 Пример использования mysql_free_result()
$result = mysql_query ( «SELECT id,email FROM people WHERE » );
if (! $result ) echo ‘Не удалось выполнить запрос: ‘ . mysql_error ();
exit;
>
/* Используем результат, подразумевая, что после этого он нам больше не нужен */
$row = mysql_fetch_assoc ( $result );
?php
/* Теперь освобождаем результат и продолжаем дальнейшую работу над нашим скриптом */
mysql_free_result ( $result );
echo $row [ ‘id’ ];
echo $row [ ’email’ ];
?>
Примечания
Замечание:
Для обратной совместимости может быть использован следующий устаревший псевдоним: mysql_freeresult()
Смотрите также
mysql_free_result
This extension was deprecated in PHP 5.5.0, and it was removed in PHP 7.0.0. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide. Alternatives to this function include:
Description
mysql_free_result() will free all memory associated with the result identifier result .
mysql_free_result() only needs to be called if you are concerned about how much memory is being used for queries that return large result sets. All associated result memory is automatically freed at the end of the script’s execution.
Parameters
The result resource that is being evaluated. This result comes from a call to mysql_query() .
Return Values
Returns true on success or false on failure.
If a non-resource is used for the result , an error of level E_WARNING will be emitted. It’s worth noting that mysql_query() only returns a resource for SELECT, SHOW, EXPLAIN, and DESCRIBE queries.
Examples
Example #1 A mysql_free_result() example
$result = mysql_query ( «SELECT id,email FROM people WHERE » );
if (! $result ) echo ‘Could not run query: ‘ . mysql_error ();
exit;
>
/* Use the result, assuming we’re done with it afterwards */
$row = mysql_fetch_assoc ( $result );
?php
/* Now we free up the result and continue on with our script */
mysql_free_result ( $result );
echo $row [ ‘id’ ];
echo $row [ ’email’ ];
?>
Notes
Note:
For backward compatibility, the following deprecated alias may be used: mysql_freeresult()
See Also
- MySQL Functions
- mysql_affected_rows
- mysql_client_encoding
- mysql_close
- mysql_connect
- mysql_create_db
- mysql_data_seek
- mysql_db_name
- mysql_db_query
- mysql_drop_db
- mysql_errno
- mysql_error
- mysql_escape_string
- mysql_fetch_array
- mysql_fetch_assoc
- mysql_fetch_field
- mysql_fetch_lengths
- mysql_fetch_object
- mysql_fetch_row
- mysql_field_flags
- mysql_field_len
- mysql_field_name
- mysql_field_seek
- mysql_field_table
- mysql_field_type
- mysql_free_result
- mysql_get_client_info
- mysql_get_host_info
- mysql_get_proto_info
- mysql_get_server_info
- mysql_info
- mysql_insert_id
- mysql_list_dbs
- mysql_list_fields
- mysql_list_processes
- mysql_list_tables
- mysql_num_fields
- mysql_num_rows
- mysql_pconnect
- mysql_ping
- mysql_query
- mysql_real_escape_string
- mysql_result
- mysql_select_db
- mysql_set_charset
- mysql_stat
- mysql_tablename
- mysql_thread_id
- mysql_unbuffered_query