php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.04.2005, 22:00  
Erfahrener Benutzer
 
Registriert seit: 02.03.2005
Beiträge: 305
DerDesian
Standard dbHandle in der SESSION

Hi,

is ja bekanntlich so, dass PHP die Connection verlieren kann (dies auch relativ scnell tut) wenn man das dbHandle in die SESSION packt.
Zumindest wenn man nciht mit pcommect arbeitet.
Soweit klar.

Vorausgesetzt ich habe dennoch ein Objekt in die SESSION geschmissen, die ein solches Handle enthällt:
Wie kann ich abprüfen ob die Connection noch besteht?
Reicht ein:
PHP-Code:
if(!$this->dbHandle) {
 
$this->reConnect();
}
 
$this->doMyQuery($query); 
Ich hab einfach keine passende Funktion im PHP-Handbuch gefunden.

Gruß
Der Desian
__________________
Wenn dich was ankotzt, machs besser.
DerDesian ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 27.04.2005, 22:20  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

warum will man sowas überhaupt machen? normalerweise, wenn kein pconnect verwendet wird, wird die verbindung zur datenbank beim ende des scripts geschlossen.

www.php.net/mysql_close
Zitat:
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.
mfg
robo47
robo47 ist offline  
Alt 27.04.2005, 23:03  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard Re: dbHandle in der SESSION

Zitat:
Zitat von DerDesian
is ja bekanntlich so, dass PHP die Connection verlieren kann (dies auch relativ scnell tut) wenn man das dbHandle in die SESSION packt.
Zumindest wenn man nciht mit pcommect arbeitet.
Das ist ziemlicher Unsinn.
Wenn man keine pconnects verwendet, werden die Verbindungen am Ende des Scriptablaufes geschlossen, die Lebensdauer darüber hinaus ist genau 0.
Und weder pconnects noch irgendwelche andered db-handles können in der Session gespeichert oder sonstwie von einem PHP-Prozess auf einen anderen übertragen werden.

PS: Niemand, der bei klarem Verstand ist, benutzt pconnect. Zu viele Probleme, und vielleicht unter besonderen Umständen ein kleiner Performance-Vorteil. Es hat seine Gründe, warum pconnects von der neuen mysqli-Extension überhaupt nicht mehr unterstützt werden.
__________________
mod = master of disaster
Waq ist offline  
Alt 28.04.2005, 09:11  
Erfahrener Benutzer
 
Registriert seit: 02.03.2005
Beiträge: 305
DerDesian
Standard

Is ja ok. Ich gebe zu das ich mit meiner Formulierung das nich ganz klar ausgedrückt hab.

Ich will das Objekt in die SESSION schmeißen.
Das Objekt weiß aber nich ob es generiert oder aus der SESSION gehohlt wurde.
Eine DB-Verbindung woill ich ncht Präventiv immer in dem Objekt neu aufbeuen dh will ich die DB-Verbindung abprüfen, wenn sie verwendet werden soll.
==>ist sie nicht da ->reConnect() sonst ->query()
Das ist alles.
Ich mag auch kein pconnect.
Ich will lediglich aus der Connection einen booolschen Wert haben, der 'false' ist, wenn die Verbindung tot ist und 'true', wenn sie benutzbar ist.
__________________
Wenn dich was ankotzt, machs besser.
DerDesian ist offline  
Alt 28.04.2005, 15:12  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Zitat:
Zitat von DerDesian
Das Objekt weiß aber nich ob es generiert oder aus der SESSION gehohlt wurde.
1. Die Verbindung sollte erkennbat tot sein, wenn sie aus der Session geholt wird, wahrscheinlich einfach false oder null.
2. __wakeup
http://de.php.net/manual/de/language...-functions.php
__________________
mod = master of disaster
Waq ist offline  
Alt 28.04.2005, 15:23  
Erfahrener Benutzer
 
Registriert seit: 02.03.2005
Beiträge: 305
DerDesian
Standard

Dieses 'erkennbar tot' ist ja das Interessante.
Wie mache ich daraus einen boolschen Wert?

Ich will die DB nicht re-inizialisieren, wenn es ncht sein muß.
dh: Nicht bei jedem mal, wenn das Objekt aus der SESSION gehohlt wird, wird auch die Verbindung aufgebaut.
Es hängt von einigen Laufzeit-Bedingngen ab, dh ich kann es nicht fest implementieren.

Hat keiner ne Ahnung wie man eine funktion hinbekommt LIKE:
PHP-Code:
<?PHP
class DBHandleKlasse
function isConnectedInactive($dbConnectionReccource) {
  
// der gesuchte Code
}

if(
$this->isConnectedInactive($this->dbConnectionReccoure)) {
 
$this->reConnect();
}
?>
__________________
Wenn dich was ankotzt, machs besser.
DerDesian 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
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Session Variablen als Referenz!? O_o Sam781 PHP-Fortgeschrittene 4 01.10.2007 11:19
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
Session in Session tinchen PHP Tipps 2007 22 21.03.2007 19:53
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
Session Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
Frage zur Anwendung einer Session mehrfach... GELight PHP Tipps 2006 10 12.03.2006 16:47
[Erledigt] php session problem :( PHP Tipps 2005-2 5 21.10.2005 16:37
Session abschaltbar?? Probleme mit Objekten in Session! becks123 PHP-Fortgeschrittene 3 19.09.2005 15:47
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
Kreieren einer Session PHP Tipps 2005 11 28.05.2005 15:16
verliere Session Sonja PHP Tipps 2005 3 27.04.2005 09:32
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28
$_GET und Session PHP Tipps 2004 9 20.06.2004 19:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php dbhandle in session, dbhandle in session, $dbhandle php, dbhandle

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:54 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.