mysql_free_result

(PHP 4, PHP 5)

mysql_free_resultLibera memória usada pelo resultado

Aviso

Esta extensão tornou-se defasada a partir do PHP 5.5.0 e foi removida no PHP 7.0.0. Em vez disso, as extensões MySQLi ou PDO_MySQL devem ser usadas. Veja também o guia MySQL: escolhendo uma API. Alternativas a esta função incluem:

Descrição

mysql_free_result(resource $result): bool

mysql_free_result() liberará toda a memória associada ao identificador de resultado result.

mysql_free_result() apenas precisa ser chamada se houver preocupação sobre a quantidade de memória usada em consultas que retornam grandes conjuntos de resultados. Toda a memória associada ao resultado é liberada automaticamente no final da execução do script.

Parâmetros

result

O resource do resultado que está sendo avaliado. Este resultado vem de uma chamada a mysql_query().

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Se for usado algo que não seja um recurso para o parâmetro result, um erro de nível E_WARNING será emitido. É importante observar que mysql_query() somente retorna um resource para consultas SELECT, SHOW, EXPLAIN e DESCRIBE.

Exemplos

Exemplo #1 Um exemplo de mysql_free_result()

<?php
$result
= mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!
$result) {
echo
'Não foi possível executar a consulta: ' . mysql_error();
exit;
}
/* Usa o resultado assumindo que não vamos precisar mais dele depois */
$row = mysql_fetch_assoc($result);

/* Agora a memória do resultado é liberada e a execução do script continua */
mysql_free_result($result);

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

Notas

Nota:

Para compatibilidade com versões anteriores, o seguinte apelido defasado pode ser usado: mysql_freeresult()

Veja Também

add a note

User Contributed Notes 2 notes

up
16
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
15
webmaster at bluesting dot co dot za
13 years ago
mysql_query() also returns a resource for "OPTIMIZE TABLE" statements!
To Top