PHP: mysql_free_result - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mysql_get_client_info mysql_field_type

Last updated: Fri, 26 Jan 2007

view this page in

# mysql_free_result

(PHP 3, PHP 4, PHP 5)

mysql_free_result -- Освобождает память от результата запроса

## Описание

bool mysql_free_result ( resource result )

mysql_free_result() высвободит всю память, занимаемую результатом, на который ссылается переданный функции указатель `result`.

mysql_free_result() нуждается в вызове только в том случае, если вы всерьёз обеспокоены тем, сколько памяти используют ваши запросы к БД, возвращающие большое количество данных. Вся память, используемая для хранения этих данных автоматически очистится в конце работы скрипта.

Возвращает `TRUE` в случае успешного завершения или `FALSE` в случае возникновения ошибки.

Для совместимости, как алиас, доступна устаревшая функция mysql_freeresult(). Однако, использовать её крайне не рекомендуется.

add a note User Contributed Notes
mysql_free_result
21-Nov-2006 02:53
`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`
Nairebis
25-Feb-2006 06:00
`ALWAYS use this function! I just encountered a bug in my code where I forgot to use this function. I also happen to be using mysql_pconnect() for a persistent connection. If you forget to free the result, it can hold the old result set open indefinitely within the HTTP process.
The upshot (in my application) was that I did updates that happened in a different HTTP process, but they mysteriously didn't show up in another HTTP process. After panicking that MySQL had mysterious data corruption and/or synchronization problems, I traced it back to this where an old result set was held open.`
mdeininger at jyujin dot de
20-Sep-2005 04:45
`yes, i encountered that too. as far as i could tell, that's because the script is stored in memory after being compiled and that's as much more memory as it needs for a call to that function.
if you always get lotsa data in your results, using this function will decrease memory usage tho, unless you use non-buffered queries (which are preferable unless you absolutely *have* to use mysql_seek(), or you need to do another query while the last one hasn't finished reporting back, as they can provide a small speedup)`
macronesia at macronesia dot net
02-Jul-2005 12:11
`You not need to use this if you are using PHP 4.
The comment below this comment may explain why it's actually costing more memory.`
Joachim Kruyswijk
14-Jun-2005 02:42
`Using this function may actually increase the amount of memory used. In my case, the script used 208 bytes less memory when *not* using mysql_free_result().
Check for yourself: call memory_get_usage() at the end of the script.`
add a note
mysql_get_client_info mysql_field_type

Last updated: Fri, 26 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 10:36:09 2007 PST