Problem bei Connect auf 2 Datenbanken...

scare05

Grünschnabel
Hi Leutz,
hab da 2 Datenbanken auf einem Server am Start.
Nun möchte ich gern auf beiden zugreifen. Aber die lassen sich nicht beide gleichzeitig connectieren, oder ich stell mich zu blöde an.
Hier mal was ich bisher hab:


class dbstuff {
var $querynum = 0;

function connect($dbhost="localhost", $dbuser, $dbpass, $dbname, $pconnect=0) {
if($pconnect) {
mysql_pconnect($dbhost, $dbuser, $dbpass);
} else {
mysql_connect($dbhost, $dbuser, $dbpass);
}
mysql_select_db($dbname);
}
}

class db2stuff {
var $querynum = 0;

function connect($dbhost2="localhost", $dbuser2, $dbpass2, $dbname2, $pconnect2=0) {
if($pconnect2) {
mysql_pconnect($dbhost2, $dbuser2, $dbpass2);
} else {
mysql_connect($dbhost2, $dbuser2, $dbpass2);
}
mysql_select_db($dbname2);
}
}

$db = new dbstuff;
$db->connect($dbhost, $dbuser, $dbpass, $dbname, $pconnect);

$db2 = new db2stuff;
$db2->connect($dbhost2, $dbuser2, $dbpass2, $dbname2, $pconnect2);


So leider kommt dann beim ersten Select aus DB1 eine Fehlermeldung, das er auf DB2 die Tabelle net finden kann.
Jemand eine Idee, woran das liegen kann???

THX'a'LOT...
 
Mal was anderes:

Wieso schreibst du 2 klassen und instanziertst nicht einfach ein 2 obj. ?

2 Datenbank zu connecten wird wohl eher nicht gehen.

Aber weshalb nicht nacheinander connecten?
 
was meisnt du mit denn mit "instanzieren"??

ich muß die gleichzeitig connecten, da ich auf einer php-seite, 2 abfragen habe, die aus den beiden verschiedenen db erfolgt.

hmm.. gibts da vielleicht andere möglichkeiten??
 
wie holyfly schon sagte 2 datenbanken gleichzeitig connecten geht nicht..

du muss wohl oder übel erst die daten von der ersten db holen und dann von der zweiten db..
 
was meisnt du mit denn mit "instanzieren"??
Was Holy meinte war wohl folgendes:
Du erstellst ja zwei Klassen (dbstuff und db2stuff), die aber beide eigentlich völlig gleich aussehen. Dabei ist eine der beiden Klassen völlig überflüssig, weil Du anstelle von
Code:
$db = new dbstuff;
$db2 = new db2stuff;
auch einfach zwei Objekte von der gleichen Klasse erzeugen (instanzieren) kannst:
Code:
$db1 = new dbstuff;
$db2 = new dbstuff;

Mit PHP zu zwei Datenbanken gleichzeitig eine Verbindung aufbauen, geht leider nicht, weil die mysql_select_db-Funktion dafür nicht genügend Parameter erwartet.
Und richtige Connection- bzw. Recordset-Objekte (wie z.B. in ASP vorhanden) gibt es bei PHP leider auch nicht.
 

Neue Beiträge

Zurück