Page 1 of 1

[PHP] Instanzen überschreiben sich

Posted: 2008-04-21 02:11
by dtdesign
Hallo,

ich habe eine recht merkwürdiges Problem. Ich versuche eine simple MySQL-Klasse zwei Mal zu erzeugen:

Code: Select all

<?php
// Vereinfachter Ausschnitt
$mysql1 = new MySQL($data1);
$mysql2 = new MySQL($data2);
?>
Die Verbindung wird jedesmal ordnungsgemäß erstellt, aber sobald ich $mysql2 erzeuge, geht mir die Verbindung/resource id von $mysql1 flöten. Dadurch, dass beide Klassen zu verschiedenen Servern/DB die Verbindung halten sollen (da beide zur Laufzeit mehrfach auch untereinander genutzt werden) kommt es zu Problemen.

Rufe ich $mysql1 auf (bevor ich $mysql2 initialisiere) funktioniert alles. Wird $mysql2 erzeugt, funktioniert alles damit aber interessanter Weise hat $mysql1 die Verbindung von $mysql2 übernommen. Nun sitze ich da mit zwei Objekten einer Klasse, aber beide zeigen auf die zu letzt intialisierte Verbindung?!

Quelltext der MySQL-Klasse: http://phpfi.com/311438

Weiss da jemand Rat?

Gruß
dtdesign

Re: [PHP] Instanzen überschreiben sich

Posted: 2008-04-21 08:56
by freddy36
Doku zu mysql_connect lesen.

Dann in Zeile 111 noch einmal true als Parameter für mysql_connect hinzufügen

Re: [PHP] Instanzen überschreiben sich

Posted: 2008-04-21 13:11
by dtdesign
Danke Freddy36, das war das Problem. Merkwürdig, obwohl zwei verschiedene Server (=unterschiedliche IP-Adressen) verwendet werden, unterdrückt diese Einstellung das Phänomen.

Gruß
dtdesign