2 verschiedene Datenbanken auf einem server

Ricci2007

Mitglied
Hallo zusammen,

ich möchte gern auf 2 verschiedene Datenbanken gleichzeitig zugreifen
(lesen - schreiben)

DATENBANK 01
mysql_connect1 ("localhost","webxxx","xxxxxxxx");
mysql_select_db1 ("usr_webxxxxxx");

DATENBANK 02
mysql_connect2 ("localhost","webxxx","xxxxxxxx");
mysql_select_db2 ("usr_webxxxxxx");

leider funtzt das ned, vielleicht weiss ja einer von Euch, wie ich das machen kann.
Ein zusammen legen auf eine Datenbank ist nicht möglich, sonst hätte ich das ja getan.

Ich sag schon mal danke ....

Ricci
 
Hi, so geht das auch nicht. $datenbank1 = mysql_connect(Verbindungsdaten zu Server 1)
Wenn du die Daten von Datebank 1 abrufen willst, dann mysql_query($query,$datenbank1).
Bei der 2. Datenbank wäre es genau so, nur halt $datenbank2 = mysql_connect(Verbindungsdtane zu Datenbank1), Abfrage: mysql_query($query,$datenbank2);
 
DATENBANK 01
mysql_connect1 ("localhost","webxxx","xxxxxxxx");
mysql_select_db1 ("usr_webxxxxxx");

DATENBANK 02
mysql_connect2 ("localhost","webxxx","xxxxxxxx");
mysql_select_db2 ("usr_webxxxxxx");

---


Du kannst doch nicht die functions umbennen.... mysql_select_db ist auch mysql_select_db und nicht mysql_select_db2 du könntest wohl eigene funtions so erstellen:

function mysql_select_db2( ) {

}

aber würde meiner meinung nach keinen sinn ergeben, dass was du tun musst:

$dbconnect1 = mysql_connect();
$dbselect1 = mysql_select_db();

// --

$dbconnect2 = mysql_connect();
$dbselect2 = mysql_select_db();

Natürlich können die Variablennamen benutzerdefindert erstellt werden also wie du es gerne möchtest :)

MfG
KD3

//EDIT

Da war wohl einer ein bisschen schneller als ich :D
 
Hallo,
probier es mal so:
PHP:
$db1 = mysql_connect('localhost', ' webxxx', 'xxxxxxxx');
mysql_select_db('usr_webxxxxxx', $db1);

$db2 = mysql_connect('localhost', 'webxxx', 'xxxxxxxx');
mysql_select_db('usr_webxxxxxx', $db2);

mfg
forsterm
 
Nochmals vielen Dank an alle,

hab nun meine config für die Datenbank gemacht.

nun versuche ich die daten aus der datenbank abzurufen, aber ich bekomme es nicht gebacken. ( bin ja auch kein Bäcker )

Normal rufe ich ja mit:

$sql_select = "SELECT * FROM tabelle WHERE `id` = '2'";

meine Daten ab, sofern ich nur eine hab. Aber das geht ja jetzt nimmer.

wo pack ich denn ja jetzt meine datenbank hin

nochmals vielen Dank an alle ...

Ricci
 
Hallo,
also die Daten kannst du genauso wie immer mit [phpf]mysql_query[/phpf] abfragen, du musst halt, wenn du mehr als eine Datenbank verwendest bei der [phpf]mysql_query[/phpf] - Funktion als zweiten Parameter angeben, von welcher Datenbank die Daten abgerufen werden.
In meinem Beispiel also $db1 oder $db2.

php.net hat gesagt.:
mysql_query() sendet eine Anfrage an die zur Zeit aktiven Datenbank, die mit der angegebenen Verbindungs-Kennung assoziiert wird. Wird die Verbindungs-Kennung nicht angegeben, wird die zuletzt geöffnete Verbindung angenommen. Wenn keine offene Verbindung besteht, wird versucht eine Verbindung aufzubauen, wie beim Aufruf von mysql_connect() ohne Argumente und diese wird dann benutzt. Das Ergebnis der Anfrage wird gepuffert.

mfg
forsterm
 
Vielen Dank,

also der Aufruf meiner $db1 funtzt jetzt.

nun gehe ich aber auf die Datenbank $db2 und da kommt nichts rüber:

$stm = "SELECT * FROM ........";
$res = mysql_query($stm,$db2);
while ($row=mysql_fetch_object($res))

{
echo "hier $daten anzeigen";
mysql_query($stm,$db2);
}

Was mache ich denn da Falsch ? das müsste doch gehen ?

Ich lege mal noch ne Tüte Gummibächen hin, für den Fall, dass Ihr was Knabbern wollt.

Ricci
 
Nochmals vielen Dank forsterm,

hab ich getan, tut sich aber nichts, er bringt mir ne Fehlermeldung:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /var/www/web169/html/links.php on line 14

line 14 ist:

while ($row=mysql_fetch_object($res))

ich glaub mein Schädel qualmt so langsam, ich brauch ein Eis....

Gruß Ricci
 
Zurück