Seite 1 von 1

Wozu "$db->sql_freeresult($result);" ?

Verfasst: 09.11.2004 22:59
von Waagenbauer
Ich finde immer häufiger, dass nach einer while-Schleife "while ($row = $db->sql_fetchrow($result));" noch ein "$db->sql_freeresult($result);" kommt. Bei älteren Mods ist es teilweise nicht dabei.

Was bewirkt die Funktion im phpBB und muss ich die jetzt überall so einbauen, wenn ich was neues code ?

Verfasst: 09.11.2004 23:05
von Leuchte

Verfasst: 09.11.2004 23:10
von Blutgerinsel
Dies ist keine von PHPBB eigens erstellte Funktion, lediglich eine Methode einer DB Klasse die nichts anderes tut als das:

-> http://de.php.net/manual/de/function.my ... result.php

Kurz zur allg. Erklärung....

Bei großen Ergebnismengen wird dementsprechend auch Speicher verbraucht, nun ist aber auch so das dies problemmatisch sein kann bei großen Mengen......
Damit man aus dem Schneider ist und sicherer atmen kann wenn man derartiges bzw. änhliches wiederholt kann man diesen Speicher natürlich wieder freimachen......

Tut man dies nicht, wird automatisch bei Scriptende des MySql Server den Speicher wieder freiräumen.....

Bei großen Ergebnismengen ist das ganze aus Performance Sicht gut wenn man den nicht mehr benötigten Speicher freiräumt ansonsten bei kleineren Mengen lohnt sich das nicht wirklich.....

Verfasst: 09.11.2004 23:23
von Waagenbauer
Vielen Dank für die schnelle Erklärung. :grin: