PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wo muss nen dbclose rein?



Teuphil
14.02.2007, 13:14
Hallo,

wollte mal schnell nachfragen ob in die topframe forced und topframe text nen dbclose am ende hin muss.

Gruss
Philipp

NightX
14.02.2007, 13:30
No Sir! Ist nicht erforderlich. Wichtig ist aber, dass das db_close() am ende der footer.php nicht entfernt wird!

Gremlin
14.02.2007, 14:53
Doch da muss eins rein, weil die footer.php nicht includet wird.....

NightX
14.02.2007, 16:14
Sorry, meine obige Aussage ist richtig / falsch.

In die topframe... muss es nicht hinein, aber in die Datei, von der aus die topframe... aufgerufen wird (footer.php ist zwar nicht falsch, da muss es schon drin sein, hat aber mit der frage hier nichts unmittelbar zu tun)

Beispiel: topframe_forced.php wird von fc.php aus aufgerufen, dann muss in der fc.php ein db_close() rein.

[EDIT] Zum nächsten Beitrag: Bin weiterhin anderer Meinung, aber was soll`s, werde mich doch deswegen hier nicht streiten.

Gremlin
14.02.2007, 16:32
Auch falsch, die topframe_forced.php wird in einem Frame aufgerufen, das heist in der fc.php besteht eine Verbindung zur DB in der topframe_forced.php nicht, deshalb wird dort auch nochmal am anfang mit

@db_connect();

geöffnet, und was geöffnet wird sollte auch wieder geschlossen werden.

Gruß
Gremlin

Teuphil
14.02.2007, 19:23
Ok also muss bei beiden topframe dinger nen db close unten rein weil irgendwas macht mir nämlich zuviele offene verbindungen. dann weiss ich jetzt auch was.

danke

Zement
18.02.2007, 13:54
Also normalerweise muß das db_close(); nirgends rein, denn am Ende eine jeden php Scriptes wird automatisch die DB geschlossen.
Demnach erkennt man auch, dass wenn zuviele Anfaregn bestehen entweder zu viele User gleichzeitg online sind (eher unwahrschienlich) oder das Script aus irgendeinem Grund nicht beendet wird (meist eine Endlosschleife (z.B: in einem schlechtgeschriebenen Game mit negativen Gewinnpot ;) ).

meiler
18.02.2007, 16:04
Original von Zement
Also normalerweise muß das db_close(); nirgends rein

hmm mir hat das mein MySQL Dozent am donnerstag aber anders erklärt und das es wichtig sei das sql connection wieder geschlossen werden da die offenen anfragen speicher auf dem MySql-Server belegen
morgen weiss ich aber mehr da er mir bei der optimierung helfen will

mfg
meiler

Zement
20.02.2007, 15:47
Müssenw ir nicht lange warten, schau mal bei php.net:



mysql_close
(PHP 4, PHP 5)

mysql_close — Schließt eine Verbindung zu MySQL

Beschreibung
bool mysql_close ( [resource Verbindungs-Kennung ] )

Rückgabewert: Gibt bei Erfolg TRUE zurück, im Fehlerfall FALSE.

mysql_close() schließt die Verbindung zum MySQL-Server, die mit der angegebenen Verbindungs-Kennung verknüpft ist. Wird die Verbindungs-Kennung nicht angegeben, wird die zuletzt geöffnete Verbindung geschlossen.

Die Verwendung von mysql_close() ist für gewöhnlich nicht notwendig, weil offene, nicht persistente Verbindungen automatisch mit Beendigung des PHP-Skripts geschlossen werden. Siehe auch Freigabe von Resourcen.