PHP 5.6.22 is available

mysql_free_result

(PHP 4, PHP 5)

mysql_free_resultGibt belegten Speicher wieder frei

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wird in der Zukunft entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

Beschreibung

bool mysql_free_result ( resource $result )

mysql_free_result() gibt den Speicher frei, der mit result (Ergebnis-Kennung) assoziert ist.

Die Funktion muss nur dann aufgerufen werden, wenn Sie sich bei Anfragen, die große Ergebnismengen liefern, Sorgen über den Speicherverbrauch zur Laufzeit des PHP-Skripts machen. Nach Ablauf des Skripts wird der Speicher ohnehin freigegeben.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Wird für den Parameter result ein Wert angegeben, der nicht vom Typ resource ist, wird ein Fehler der Stufe E_WARNING ausgegeben. Beachten Sie, dass mysql_query() nur eine resource für SELECT, SHOW, EXPLAIN und DESCRIBE Abfragen liefert.

Beispiele

Beispiel #1 Ein mysql_free_result() Beispiel

<?php
$result 
mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!
$result) {
    echo 
'Abfrage konnte nicht ausgeführt werden: ' mysql_error();
    exit;
}
/* Benutze result, unrer der Annahme wir sind hinterher damit fertig */
$row mysql_fetch_assoc($result);

/* Nun geben wir den Speicher für result frei und fahren in unserem Skript fort */
mysql_free_result($result);

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

Anmerkungen

Hinweis:

Für die Abwärtskompatibiliät kann der folgende veraltete Alias verwendet werden: mysql_freeresult()

Siehe auch

add a note add a note

User Contributed Notes 3 notes

up
9
webmaster at bluesting dot co dot za
5 years ago
mysql_query() also returns a resource for "OPTIMIZE TABLE" statements!
up
-1
admin at ifyouwantblood dot de
8 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
-6
Anonymous
9 years ago
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
To Top