(PHP 4, PHP 5)

mysql_free_resultFree result memory


Această extensie a devenit învechită în PHP 5.5.0 și a fost eliminată în PHP 7.0.0. În locul ei trebuie utilizată extensia MySQLi sau PDO_MySQL. Accesați de asemenea ghidul MySQL: selectarea unei API și FAQ asociat pentru informații suplimentare. Variante alternative pentru această funcție includ:


bool mysql_free_result ( resource $result )

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.



Rezultatul de tip resource, care este evaluat. Acest rezultat provine de la apelul funcției mysql_query ().

Valorile întoarse

Întoarce valoarea TRUE în cazul succesului sau FALSE în cazul eșecului.

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.


Example #1 A mysql_free_result() example

mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!
$result) {
'Could not run query: ' mysql_error();
/* Use the result, assuming we're done with it afterwards */
$row mysql_fetch_assoc($result);

/* Now we free up the result and continue on with our script */




Pentru compatibilitatea cu versiunile anterioare, următorul pseudonim învechit poate fi utilizat: mysql_freeresult()

A se vedea și

add a note add a note

User Contributed Notes 3 notes

webmaster at bluesting dot co dot za
4 years ago
mysql_query() also returns a resource for "OPTIMIZE TABLE" statements!
admin at ifyouwantblood dot de
7 years ago
yes this function may increase the memory usage if you use unbuffered querys and if you have not fetched all the data from mysql. in this case the mysql api has a problem: you want to free the result but do not want to close the connection. now mysql will only accept another query if all data has been fetched, so the api now must fetch the rest of the data when calling mysql_free_result().

so only use unbuffered querys if you fetch all the data (and need it).
9 years ago
If you're seeing warnings like "Warning: Unknown: 6 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0" and want to turn them off, set mysql.trace_mode = Off in your php.ini
To Top