mysql disconnect
kölir
- php
0 kölir0 Marc0 Froschpopo0 Johannes Zeller
hallöle,
wenn ich mehrer abfragen und co habe und if schleifen usw.
und habe dadurch eine betsehende mysql verbindung und in einer bestimmten schleife ird dann per header location weitergeleitet, muss ich dann vorher in dieser schleife noch die mysql verbindung beenden oder wird der rest der schleifen mitbetrachtet und es reicht, wenn ich die mysql verbindung auf der gleichen ebene beende wie ich eröffne?
hoffe ihr vertseht was ich mein...
grüßchen
Beispiel:
if (diesundjenes) {
mysql_connect
abfrage
diesundjenes
abfrage
if (das) {
header("Location: woanders");
}
nochwas
mysql_disconnect
}
Wird das msql_diconnect im Falle von 'das', wo dann die Location geändert wird noch beachtet oder sollte ich dann vor den header in die 'das'-if-schleife auch noch ein mysql_disconnect setzten?
Moin!
Wird das msql_diconnect im Falle von 'das', wo dann die Location geändert wird noch beachtet oder sollte ich dann vor den header in die 'das'-if-schleife auch noch ein mysql_disconnect setzten?
Überlege dir mal, was die Funktion header() bewirkt. Einen Skriptabbruch? Eher nicht.
- Sven Rautenberg
Setz einfach hinter jede header-Weiterleitung ein
exit;
dann kannst Du dir disconnect und Gedanken über das, was dahinter kommt, sparen..
hallöle,
wenn ich mehrer abfragen und co habe und if schleifen usw.
und habe dadurch eine betsehende mysql verbindung und in einer bestimmten schleife ird dann per header location weitergeleitet, muss ich dann vorher in dieser schleife noch die mysql verbindung beenden oder wird der rest der schleifen mitbetrachtet und es reicht, wenn ich die mysql verbindung auf der gleichen ebene beende wie ich eröffne?
hoffe ihr vertseht was ich mein...
grüßchen
Hi,
Du solltest die Verbindung beenden, wenn du sie nicht mehr brauchst.
Ich arbeite bei solchen Aufgabenbereichen allerdings auch gerne mit Perl-DBI, da es hier eine gute Möglichkeit gibt Handles zu cachen.
Ein disconnect ist damit nicht mehr notwendig.
Müsste es aber in PHP eigentlich auch irgendwo geben.
danke für den tipp aber oich find nigges...
vllt jemand anderes??
hi,
danke für den tipp aber oich find nigges...
Könntest du vielleicht mal konkret sagen, was dir jetzt, nach dem Lesen und Überdenken der bisherigen Antworten, noch Probleme macht?
gruß,
wahsaga
Hallo kölir,
wenn ich mehrer abfragen und co habe und if schleifen usw.
und habe dadurch eine betsehende mysql verbindung und in einer bestimmten schleife ird dann per header location weitergeleitet, muss ich dann vorher in dieser schleife noch die mysql verbindung beenden oder wird der rest der schleifen mitbetrachtet und es reicht, wenn ich die mysql verbindung auf der gleichen ebene beende wie ich eröffne?
Ich verstehe wirklich nicht ganz, wo dein Problem liegt. Willst du, das ich dir sage, dass offene Verbindungen zu einer MySQL-Datenbank nach dem Ende eines PHP-Scriptes automatisch geschlossen werden? (Siehe http://www.php.net/language.types.resource#language.types.resource.self-destruct).
Aber vielleicht solltest du dir nochmal den Hinweis von Sven zu Herzen nehmen. Nach einem Aufruf von header() wird das Script nämlich nicht abgebrochen sondern normal weiter ausgeführt.
Schöne Grüße,
Johannes