php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.03.2010, 15:18  
Benutzer
 
Registriert seit: 14.01.2010
Beiträge: 69
PHP-Kenntnisse:
Fortgeschritten
Lenki befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] MySQL Link Resource in einer statischen Variablen speichern

Hallo zusammen,

ich habe mir eine Klasse gebastelt, die die Kommunikation zur Datenbank übernimmt (connect(), query(), ...).
Von dieser Klasse erben meine Business Objekte, die dann intern auf die Query-Methode zugreifen.

Die connect()-Methode stellt wie üblich die Verbindung zur DB her und speichert dann die Link Resource in einer statischen Variablen $connid:
PHP-Code:
        public static function connect($host$user$password$database) {
            
$id = @mysql_connect($host$user$password);
            
var_dump($id);
            if(
mysql_error()) throw new Exception('Connection to database failed: '.mysql_error());
            else 
self::$connid $id;
            if(!
mysql_select_db($databaseself::$connid)) throw new Exception('database selection failed: '.mysql_error());
            
self::$host $host;
            
self::$user $user;
            
self::$password $password;
            
self::$database $database;
            
mysql_query("SET NAMES 'utf8'"); 
            
$c file_get_contents('log.txt');
            
$c.= "neu Vebinden...\n";
            
file_put_contents('log.txt'$c);
        } 
Die query()-Methode greift nun beim Ausführen des Queries auf diese statische Variable zurück. Doch aus mir unerklärlichen Gründen ist die statische Variable dann keine MySQL Link Resource mehr.
Darauf hin habe ich eine reconnect()-Methode eingebaut, die prüft, ob die statische Variable noch eine Link Resource ist und falls nein, eine neue Verbindung aufbaut:
PHP-Code:
        public function query($sql) {
            
self::reconnect();
            
$this->sql $sql;
            
$this->free();
            
$this->result mysql_query($this->sqlself::$connid);
            if(!
$this->result) {
                
$this->errno mysql_errno();#self::$connid);
                
$this->error mysql_error();#self::$connid);
                
$this->getError();
            } else {
                
$this->raiseCounter();
            }
        } 
PHP-Code:
        public static function reconnect() {
            
var_dump(self::$connid);
            if(
get_resource_type(self::$connid) != 'mysql link') {
                
self::connect(self::$hostself::$userself::$passwordself::$database);
            }
        } 
Mit dem Ergebnis, dass dutzende Verbindungen zur Datenbank, bzw. dutzende Male die connect()-Methode ausgeführt wird.

Ich hoffe, mein Problem ist verständlich und ich habe keine Infos vergessen.

Weiß jemand Rat? Wieso wird die Verbindung mehrfach hergestellt?

Wie man sieht, habe ich ja schon ein bisschen versucht zu debuggen und auch eine Art Log dazugebastelt, hier mal ein Auszug:
Code:
neu Vebinden...
init db...
neu Vebinden...
init User...
neu Vebinden...
init UserModel...
neu Vebinden...
init AdressesModel...
neu Vebinden...
init MembersModel...
init db...
Verbindung schließen...
destruct db...
neu Vebinden...
neu Vebinden...
init ProjectsManager...
neu Vebinden...
init ProjectsModel...
neu Vebinden...
init ProjectTypesModel...
neu Vebinden...
init AusbildungenModel...
Verbindung schließen...
destruct ProjectsManager...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
neu Vebinden...
neu Vebinden...
init ProjectObject...
neu Vebinden...
init ProjectsModel...
neu Vebinden...
init ProjectTypesModel...
neu Vebinden...
init AusbildungenModel...
neu Vebinden...
init ProjectObject...
neu Vebinden...
init ProjectsModel...
neu Vebinden...
init ProjectTypesModel...
neu Vebinden...
init AusbildungenModel...
neu Vebinden...
init ProjectObject...
neu Vebinden...
init ProjectsModel...
neu Vebinden...
init ProjectTypesModel...
neu Vebinden...
init AusbildungenModel...
neu Vebinden...
init ProjectObject...
neu Vebinden...
init ProjectsModel...
neu Vebinden...
init ProjectTypesModel...
neu Vebinden...
init AusbildungenModel...
neu Vebinden...
init ProjectObject...
neu Vebinden...
init ProjectsModel...
neu Vebinden...
init ProjectTypesModel...
neu Vebinden...
init AusbildungenModel...
neu Vebinden...
init ProjectObject...
neu Vebinden...
init ProjectsModel...
neu Vebinden...
init ProjectTypesModel...
neu Vebinden...
init AusbildungenModel...
neu Vebinden...
init ProjectObject...
neu Vebinden...
init ProjectsModel...
neu Vebinden...
init ProjectTypesModel...
neu Vebinden...
init AusbildungenModel...
neu Vebinden...
init ProjectObject...
neu Vebinden...
init ProjectsModel...
neu Vebinden...
init ProjectTypesModel...
neu Vebinden...
init AusbildungenModel...
neu Vebinden...
init ProjectObject...
neu Vebinden...
init ProjectsModel...
neu Vebinden...
init ProjectTypesModel...
neu Vebinden...
init AusbildungenModel...
neu Vebinden...
init ProjectObject...
neu Vebinden...
init ProjectsModel...
neu Vebinden...
init ProjectTypesModel...
neu Vebinden...
init AusbildungenModel...
neu Vebinden...
init ProjectObject...
neu Vebinden...
init ProjectsModel...
neu Vebinden...
init ProjectTypesModel...
neu Vebinden...
init AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectsManager...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
neu Vebinden...
init MenuManager...
neu Vebinden...
init MenuModel...
neu Vebinden...
init MenuCaptionsModel...
Verbindung schließen...
destruct MenuManager...
Verbindung schließen...
destruct MenuModel...
Verbindung schließen...
destruct MenuCaptionsModel...
neu Vebinden...
neu Vebinden...
init MenuObject...
neu Vebinden...
init MenuModel...
neu Vebinden...
init MenuCaptionsModel...
neu Vebinden...
init MenuObject...
neu Vebinden...
init MenuModel...
neu Vebinden...
init MenuCaptionsModel...
neu Vebinden...
init MenuObject...
neu Vebinden...
init MenuModel...
neu Vebinden...
init MenuCaptionsModel...
neu Vebinden...
init MenuObject...
neu Vebinden...
init MenuModel...
neu Vebinden...
init MenuCaptionsModel...
neu Vebinden...
init MenuObject...
neu Vebinden...
init MenuModel...
neu Vebinden...
init MenuCaptionsModel...
neu Vebinden...
init MenuObject...
neu Vebinden...
init MenuModel...
neu Vebinden...
init MenuCaptionsModel...
neu Vebinden...
init MenuObject...
neu Vebinden...
init MenuModel...
neu Vebinden...
init MenuCaptionsModel...
Verbindung schließen...
destruct MenuManager...
Verbindung schließen...
destruct MenuModel...
Verbindung schließen...
destruct MenuCaptionsModel...
neu Vebinden...
init ProjectsManager...
neu Vebinden...
init ProjectsModel...
neu Vebinden...
init ProjectTypesModel...
neu Vebinden...
init AusbildungenModel...
Verbindung schließen...
destruct ProjectsManager...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Gruß
Max
Lenki ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.03.2010, 15:23  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Du hast einen var_dump drinnen aber nirgendwo in deiner Ausgabe ist was davon zu sehen. Was steht denn in der self::$connid jeweils drin, wenn es zum Reconnect kommt? Du überschreibst self::$connid auch wirklich nirgendwo?
__________________
Entwickler aus Leidenschaft und ein Zahnrad in einem der größten Java-Projekte der Welt.
mepeisen ist offline   Mit Zitat antworten
Alt 18.03.2010, 15:31  
Benutzer
 
Registriert seit: 14.01.2010
Beiträge: 69
PHP-Kenntnisse:
Fortgeschritten
Lenki befindet sich auf einem aufstrebenden Ast
Standard

Oh, stimmt... das wurde nicht ins Log geschrieben, sondern auf der Seite ausgegeben:
Code:
$id in connect(): resource(24) of type (mysql link)

neu Vebinden...
init db...
$id in connect(): resource(24) of type (mysql link)

neu Vebinden...
init User...
$id in connect(): resource(24) of type (mysql link)

neu Vebinden...
init UserModel...
$id in connect(): resource(24) of type (mysql link)

neu Vebinden...
init AdressesModel...
$id in connect(): resource(24) of type (mysql link)

neu Vebinden...
init MembersModel...
$connid in reconnect(): resource(24) of type (mysql link)

init db...
$connid in reconnect(): resource(24) of type (mysql link)

Verbindung schließen...
destruct db...
$connid in reconnect(): resource(24) of type (Unknown)

$id in connect(): resource(99) of type (mysql link)

neu Vebinden...
$id in connect(): resource(113) of type (mysql link)

neu Vebinden...
init ProjectsManager...
$id in connect(): resource(113) of type (mysql link)

neu Vebinden...
init ProjectsModel...
$id in connect(): resource(113) of type (mysql link)

neu Vebinden...
init ProjectTypesModel...
$id in connect(): resource(113) of type (mysql link)

neu Vebinden...
init AusbildungenModel...
Verbindung schließen...
destruct ProjectsManager...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
$connid in reconnect(): resource(113) of type (Unknown)

$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectObject...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectsModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectTypesModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init AusbildungenModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectObject...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectsModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectTypesModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init AusbildungenModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectObject...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectsModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectTypesModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init AusbildungenModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectObject...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectsModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectTypesModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init AusbildungenModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectObject...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectsModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectTypesModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init AusbildungenModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectObject...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectsModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectTypesModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init AusbildungenModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectObject...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectsModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectTypesModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init AusbildungenModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectObject...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectsModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectTypesModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init AusbildungenModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectObject...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectsModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectTypesModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init AusbildungenModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectObject...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectsModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectTypesModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init AusbildungenModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectObject...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectsModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init ProjectTypesModel...
$id in connect(): resource(236) of type (mysql link)

neu Vebinden...
init AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectsManager...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
Verbindung schließen...
destruct ProjectObject...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
$id in connect(): resource(716) of type (mysql link)

neu Vebinden...
init MenuManager...
$id in connect(): resource(716) of type (mysql link)

neu Vebinden...
init MenuModel...
$id in connect(): resource(716) of type (mysql link)

neu Vebinden...
init MenuCaptionsModel...
Verbindung schließen...
destruct MenuManager...
Verbindung schließen...
destruct MenuModel...
Verbindung schließen...
destruct MenuCaptionsModel...
$connid in reconnect(): resource(716) of type (Unknown)

$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuObject...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuModel...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuCaptionsModel...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuObject...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuModel...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuCaptionsModel...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuObject...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuModel...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuCaptionsModel...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuObject...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuModel...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuCaptionsModel...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuObject...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuModel...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuCaptionsModel...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuObject...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuModel...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuCaptionsModel...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuObject...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuModel...
$id in connect(): resource(749) of type (mysql link)

neu Vebinden...
init MenuCaptionsModel...
Verbindung schließen...
destruct MenuManager...
Verbindung schließen...
destruct MenuModel...
Verbindung schließen...
destruct MenuCaptionsModel...
$id in connect(): resource(905) of type (mysql link)

neu Vebinden...
init ProjectsManager...
$id in connect(): resource(905) of type (mysql link)

neu Vebinden...
init ProjectsModel...
$id in connect(): resource(905) of type (mysql link)

neu Vebinden...
init ProjectTypesModel...
$id in connect(): resource(905) of type (mysql link)

neu Vebinden...
init AusbildungenModel...
$connid in reconnect(): resource(905) of type (mysql link)

Verbindung schließen...
destruct ProjectsManager...
Verbindung schließen...
destruct ProjectsModel...
Verbindung schließen...
destruct ProjectTypesModel...
Verbindung schließen...
destruct AusbildungenModel...
var_dump() wird einmal in connect() und reconnect() aufgerufen.
Lenki ist offline   Mit Zitat antworten
Alt 18.03.2010, 15:40  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Zitat:
Code:
Verbindung schließen...
destruct db...
$connid in reconnect(): resource(24) of type (Unknown)
Soll ich was dazu schreiben oder siehst du es selbst?
__________________
Entwickler aus Leidenschaft und ein Zahnrad in einem der größten Java-Projekte der Welt.
mepeisen ist offline   Mit Zitat antworten
Alt 18.03.2010, 16:07  
Benutzer
 
Registriert seit: 14.01.2010
Beiträge: 69
PHP-Kenntnisse:
Fortgeschritten
Lenki befindet sich auf einem aufstrebenden Ast
Standard

Mh, ok, soweit so klar *G* Naja, so halb wegs. Warum wird das Objekt da schon zerstört? Soweit ich weiß, werden Objekte doch entweder durch unset() oder automatisch am Ende des Skripts zerstört. Das Ende des Skripts kann es ja noch nicht sein, danach werden ja noch Objekte initialisiert (und nicht wenig). Und über unset() lösche ich auch keine Referenz auf ein db-Objekt.
Lenki ist offline   Mit Zitat antworten
Alt 18.03.2010, 16:08  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Keine Ahnung, ich kenne deinen Code ja nicht.

Es ist jedoch extrem fragwürdig, etwas, was statisch initialisiert wurde, im Destruktor wegzuräumen.
__________________
Entwickler aus Leidenschaft und ein Zahnrad in einem der größten Java-Projekte der Welt.
mepeisen ist offline   Mit Zitat antworten
Alt 18.03.2010, 16:18  
Benutzer
 
Registriert seit: 14.01.2010
Beiträge: 69
PHP-Kenntnisse:
Fortgeschritten
Lenki befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von mepeisen Beitrag anzeigen
Keine Ahnung, ich kenne deinen Code ja nicht.

Es ist jedoch extrem fragwürdig, etwas, was statisch initialisiert wurde, im Destruktor wegzuräumen.
Mhm, stimmt eigentlich. Aber wenn ich das richtig verstehe werden doch, wenn der Destruktor von db aufgerufen wird, auch die statischen Attribute gelöscht, oder? Zumindest meine ich das in diesem Fall zu sehen.

Ich habe es jetzt so gelöst, dass ich die Link Resource einfach in meiner Registry speichere. Jetzt wird die "Verbindung" nur noch einmal aufgebaut.
Lenki ist offline   Mit Zitat antworten
Alt 18.03.2010, 16:30  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Nein. Werden sie nicht. Statisch ist statisch (zur Klasse zugehörig) und das hat per se nichts mit dem Destruktor zu tun. Dieser bezieht sich auf die Objekt-Instanzen. Die Objekt-Instanzen haben aber einen anderen Lebenszyklus als die Klasse selbst.

Du hast mutmasslich deinen Destruktor überschrieben und disconnect explizit aufgerufen.
__________________
Entwickler aus Leidenschaft und ein Zahnrad in einem der größten Java-Projekte der Welt.
mepeisen ist offline   Mit Zitat antworten
Alt 18.03.2010, 16:37  
Benutzer
 
Registriert seit: 14.01.2010
Beiträge: 69
PHP-Kenntnisse:
Fortgeschritten
Lenki befindet sich auf einem aufstrebenden Ast
Standard

Hmm... nunja, anyway. Es tut auf jeden Fall jetzt

Dankö!
Lenki ist offline   Mit Zitat antworten
Antwort


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] mysql_fetch_object(): supplied argument is not a valid MySQL result resour alklug Datenbanken 3 30.12.2009 14:00
Daten in Mysql datenbank speichern keppi PHP Tipps 2009 5 23.07.2009 17:29
[Erledigt] mysql reihen im array speichern und auslesen Balmore PHP Tipps 2009 2 06.06.2009 14:51
Fehler bei Übergabe von Variablen aus MySQL in Firefox jensoweber Datenbanken 0 13.07.2008 13:14
MySQL Antwort als CSV speichern grisu PHP Tipps 2008 5 11.04.2008 17:28
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
Per normalen Link Variablen übergebn PHP Tipps 2005-2 4 03.10.2005 16:05
Variablen von Link in Formular übertragen PHP Tipps 2005-2 8 16.08.2005 14:44
link mit Variablen???? PHP Tipps 2005-2 11 24.06.2005 10:28
php variablen in mysql PHP Tipps 2004-2 8 06.12.2004 16:41
Pfadange in mysql speichern - funktioniert nicht Calli PHP Tipps 2004-2 8 30.11.2004 15:41
Variablen auto. bei jedem Link mitsenden! PHP Tipps 2004 3 29.09.2004 13:46
Counter zeigt nach ca. 2-3 Stunden fehler an PHP Tipps 2004 2 26.08.2004 20:08
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55
Mehrere Variablen über einen Link? medico PHP Tipps 2004 2 25.07.2004 22:24

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql link, mysql link speichern, mysql-link resource, resource(8) of type (mysql link), resource(4) of type (mysql link), mysql link resource, http://www.php.de/php-fortgeschrittene/65891-erledigt-mysql-link-resource-einer-statischen-variablen-speichern.html, php resource speichern, resource(2) of type (mysql link), mysql variablen, php5 mysql connect in varibale speichern, sql php host variablen, resource(3) of type (mysql link), resource(8, mysql link), resource(4) of type (mysql result), php resource of type (unknown), resource(5) of type (mysql link), php mysql link-resource, php mysql destruct, mysql connect ressource of type unknown

Alle Zeitangaben in WEZ +1. Es ist jetzt 22:56 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