Moin!
PHP schiebt die Datenbank-Ergebnisse mit dem Befehl mysql_query() komplett in einen PHP-eigenen Zwischenspeicher und liefert von dort aus dann die Datensätze aus. Die Datenbank ist schon direkt nach mysql_query() mit der Abfrage fertig und speichert außer der noch bestehenden Verbindung nichts mehr.
Wo steht das?
Im Manual.
Freigeben muss man aber trotzdem mal was, egal von wem der Speicher vollgemüllt wird. Insbesondere, wenn man das Query in einer Funktion aufruft, muss man vor dem Ende der Funktion die Rückgabe des Handles veranlassen, es sei denn, dass man es vererbt / weiterreicht.
Je Verbindung zur Datenbank gibt es einen dafür reservierten, größenmäßig nicht festgelegten Pufferbereich, in dem jeweils die Abfrageergebnisse zwischengespeichert werden (natürlich nur, wenn es ein Ergebnis gibt, was man mit mysql_fetch_array() o.ä. abfragen kann).
Entweder braucht man, weil man eine wirklich riesige Ergebnisausgabe hat, den Speicher tatsächlich für andere Aufgaben - dann macht ein zwischenzeitliches Freigeben des Puffers nach der Abfrage vielleicht Sinn.
Wenn man natürlich nur Miniscripte mit einer einzigen Query schreibt, ist das uninteressant.
Sicherlich.
- Sven Rautenberg
"Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)