mysql_free_result

(PHP 4, PHP 5)

mysql_free_resultLibera la memoria del resultado

Advertencia

Esta extensión fue declarada obsoleta en PHP 5.5.0 y eliminada en PHP 7.0.0. En su lugar debería utilzarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API. Las alternativas a esta función son:

Descripción

mysql_free_result(resource $result): bool

mysql_free_result() liberará toda la memoria asociada con el identificador del resultado result.

mysql_free_result() solo necesita ser llamado si se está preocupado por la cantidad de memoria que está siendo usada por las consultas que devuelven conjuntos de resultados grandes. Toda la memoria de resultados asociada se liberará automaticamente al finalizar la ejecución del script.

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Si se utiliza un recurso no válido para result, se emitirá un error de nivel E_WARNING. Vale la pena señalar que mysql_query() solo devuelve un recurso para las consultas SELECT, SHOW, EXPLAIN, y DESCRIBE.

Ejemplos

Ejemplo #1 Un ejemplo de mysql_free_result()

<?php
$resultado
= mysql_query("SELECT id, email FROM people WHERE id = '42'");
if (!
$resultado) {
echo
'No se pudo ejecutar la consulta: ' . mysql_error();
exit;
}
/* Usamos el resultado, asumiendo que, acto seguido, hemos terminado con él */
$fila = mysql_fetch_assoc($resultado);

/* Ahora liberamos el resultado y continuamos con nuestro script */
mysql_free_result($resultado);

echo
$fila['id'];
echo
$fila['email'];
?>

Notas

Nota:

Por razones de compatibilidad con versiones anteriores, los siguientes alias obsoletos podrían usarse: mysql_freeresult()

Ver también

add a note add a note

User Contributed Notes 3 notes

up
11
admin at ifyouwantblood dot de
16 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).
up
9
webmaster at bluesting dot co dot za
13 years ago
mysql_query() also returns a resource for "OPTIMIZE TABLE" statements!
up
-28
Anonymous
18 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