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

search for in the

odbc_gettypeinfo> <odbc_foreignkeys
Last updated: Fri, 13 Nov 2009

view this page in

odbc_free_result

(PHP 4, PHP 5)

odbc_free_resultLibera os recursos associados a um resultado

Descrição

bool odbc_free_result ( resource $result_id )

Libera o recursos associados com o resultado.

odbc_free_result() somente necessita ser chamado se você está com problema pelo fato de usar muita memória quando seu script é executado. Toda memória de resultado irá automaticamente ser liberada quando o script é terminado.

Parâmetros

result_id

The result identifier.

Valor Retornado

Sempre retorna TRUE.

Notas

Nota: Se auto-commit estiver desabilitado (veja odbc_autocommit()) e você utilizar odbc_free_result() antes de gravar, todas as transações pendentes serão desfeitas.



odbc_gettypeinfo> <odbc_foreignkeys
Last updated: Fri, 13 Nov 2009
 
add a note add a note User Contributed Notes
odbc_free_result
EMY
03-Feb-2009 04:45
It seems it is common sense to say it is a god practice to free any resource when it isn´t necessary anymore.
Also, when talking about releasing the resources associated with a given result set it is a common sense to say never release a result set before it is assured to have been either commited or rolled back.
Then, the following code sequence should be the most adequate (assuming auto-commit is disabled):

odbc_commit(...);
odbc_free_result(...);
...
odbc_close(...);
rich at kastle dot com
20-Dec-2004 11:48
("Note:  If auto-commit is disabled (see odbc_autocommit()) and you call odbc_free_result() before committing, all pending transactions are rolled back.")

I've looked thru the code, and that note is definitely wrong, at least in my environment (Windows/SQL Server).  odbc_free_result ultimately just calls SQLFreeStmt which has NO EFFECT on outstanding transactions.

In fact, it seems it must be wrong for all environments, because the SQLFreeStmt is bound to the destruction of the result resource.  So unset($result) would be just as dangerous - and you're randomly and unpredictably screwed if garbage collection reaps the result set before your transaction's done.
rogersd at island dot net
06-Sep-2001 03:03
odbc_free_result() is also the way to avoid the dreaded "Too many open cursor" error.

odbc_gettypeinfo> <odbc_foreignkeys
Last updated: Fri, 13 Nov 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites