php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.01.2010, 14:05  
Jens P.
Gast
 
Beiträge: n/a
Standard [Erledigt] Immer mysql_free_result angeben?

Wenn ein Server wenig Arbeitsspeicher hat sollte man ja zb. mysql_free_result immer angeben. Dies sollte man doch am Ende der Datei angeben bei jeder Datei die eine Abfrage macht? Ist dies sinnvoll zu tun?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.01.2010, 14:08  
Benutzer
 
Registriert seit: 30.12.2009
Beiträge: 69
PHP-Kenntnisse:
Fortgeschritten
php-guru befindet sich auf einem aufstrebenden Ast
Standard

sinnvoll oder nicht kann ich dir so nicht sagen, also ich machs immer, hab ne class und dann siehts halt so aus:
PHP-Code:
$sql=new MySQLq();
$sql->Query("UPDATE tabelle SET....");
$sql->Query("SELECT * FROM tabelle");
$row=$sql->FetchRow();
//....
$sql->Close(); 
PHP-Guru
php-guru ist offline  
Alt 04.01.2010, 14:11  
Jens P.
Gast
 
Beiträge: n/a
Standard

Okay, also immer am Schluss die MYSQL Datenbank schließen. Magst du mir mal per PM oä. deine Klasse zukommen lassen? Ich möchte Sie mir nur mal angucken und verstehen. Werde sie zu 100% nicht benutzen.
 
Alt 04.01.2010, 14:28  
Erfahrener Benutzer
 
Registriert seit: 01.12.2009
Beiträge: 645
PHP-Kenntnisse:
Fortgeschritten
draco88 befindet sich auf einem aufstrebenden Ast
draco88 eine Nachricht über ICQ schicken
Standard

Das ganze erst am Ende vom Script zu schließen ist ziemlich Sinnfrei, weil es am Ende des Scripts automatisch geschlossen wird und der komplette Speicher wieder frei gegeben wird.

Wenn, dann muss man es direkt nach dem letzten Abruf der Daten machen.
draco88 ist offline  
Alt 04.01.2010, 14:51  
Jens P.
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von draco88 Beitrag anzeigen
Das ganze erst am Ende vom Script zu schließen ist ziemlich Sinnfrei, weil es am Ende des Scripts automatisch geschlossen wird und der komplette Speicher wieder frei gegeben wird.

Wenn, dann muss man es direkt nach dem letzten Abruf der Daten machen.
Sie müssen jedoch erst ausgegeben sein oder?
 
Alt 04.01.2010, 14:56  
Erfahrener Benutzer
 
Registriert seit: 01.12.2009
Beiträge: 645
PHP-Kenntnisse:
Fortgeschritten
draco88 befindet sich auf einem aufstrebenden Ast
draco88 eine Nachricht über ICQ schicken
Standard

PHP-Code:
$res mysql_query('...');
$rs mysql_fetch_object($res);
mysql_free_result($res); // Resource freigeben
var_dump($rs); // Auf die letzten Daten zugreifen 
Das funktioniert Wunderbar. Ich meinte halt, das die Resource freigegeben werden, sobald sie nicht mehr gebraucht wird.

Wobei ich im moment garnicht weiß ob das nicht auch der Garbage Collector macht?
draco88 ist offline  
Alt 04.01.2010, 14:59  
Jens P.
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von draco88 Beitrag anzeigen
PHP-Code:
$res mysql_query('...');
$rs mysql_fetch_object($res);
mysql_free_result($res); // Resource freigeben
var_dump($rs); // Auf die letzten Daten zugreifen 
Das funktioniert Wunderbar. Ich meinte halt, das die Resource freigegeben werden, sobald sie nicht mehr gebraucht wird.

Wobei ich im moment garnicht weiß ob das nicht auch der Garbage Collector macht?
Das kann ich dir auch nicht beantworten. Wäre natürlich von großem Vorteil!
 
Alt 04.01.2010, 16:09  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.637
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Zitat:
mysql_free_result() gibt den Speicher frei, der mit der 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.
Steht im Manuel dazu.

D.h. ich denke es wir erst bei Abfragen die mehrere tausend Datensätze liefern interessant....
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline  
Alt 04.01.2010, 16:18  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Wobei ich im moment garnicht weiß ob das nicht auch der Garbage Collector macht?
Unwahrscheinlich, weil es mysql_data_seek gibt.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 04.01.2010, 16:23  
Erfahrener Benutzer
 
Registriert seit: 01.12.2009
Beiträge: 645
PHP-Kenntnisse:
Fortgeschritten
draco88 befindet sich auf einem aufstrebenden Ast
draco88 eine Nachricht über ICQ schicken
Standard

Wenn aber keine Variable mehr auf die Recource zeigt(z.B. eine Variable in einer Funktion und die Funktion ist komplett durchgelaufen) dann wird der Garbage Collector glaub ich doch aktiv.
draco88 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
SSL-Verbindung: Wie das Zertifikate angeben? xantiva PHP-Fortgeschrittene 4 13.12.2009 13:16
php als bild angeben Tsuki-Namida PHP Tipps 2009 2 05.09.2009 11:15
Wie php-Referenzen angeben? Matthiasnet Off-Topic Diskussionen 4 17.06.2007 15:59
dic-container als ziel angeben Canni HTML, Usability und Barrierefreiheit 9 22.09.2006 01:37
[Erledigt] Spaltenname mit Variable angeben Datenbanken 1 17.03.2006 20:22
JavaScript Funktion default Wert angeben? becks123 HTML, Usability und Barrierefreiheit 1 27.01.2006 11:06
CSS: "alt" für Bilder angeben HTML, Usability und Barrierefreiheit 5 05.12.2005 13:55
[Erledigt] ./configure Pfad für php.ini angeben .. Server, Hosting und Workstations 2 30.09.2005 16:48
Session-(Laufzeit)Länge angeben? Unbekanntes_Pferd PHP Tipps 2005-2 2 30.08.2005 21:10
Zielordner bei FTP-Upload angeben? Plague PHP Tipps 2005 9 18.05.2005 21:19
zentrierung einer seite im body tag angeben HTML, Usability und Barrierefreiheit 1 12.10.2004 04:40
Mailfunktion - Absender angeben PHP-Fortgeschrittene 1 06.10.2004 16:50
pfadname angeben klappt nich! PHP Tipps 2004 3 19.08.2004 13:06
Zeile in der der Suchbegriff ist angeben PHP Tipps 2004 6 01.08.2004 17:01
[Erledigt] Beim Button Target angeben??? HTML, Usability und Barrierefreiheit 12 30.07.2004 20:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql_free_result, php resource freigeben, mysql_free_result($rs);, mysql_free_result() mehrere, php mysql_free_result alle schließen, mysql_free_result($res);, mysql_fetch_object freigeben, php mysql_free_result($res);, mysql_free_result mysql_fetch_object, mysql_freeresult($rs), mysql_free_result($res, wann benutzen mysql_free_result, php garbage, mysql_free_result() 2 abfragen schliessen, php @mysql_free_reult, wann mysql_free_result am ende einer funnktion, mysql_free_result sollte, php garbage collector mysql_free_reult, php $rs $res, mysql_free_result($res)

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:53 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum