Zwei Datenbanken abfragen bei Strato

sandroP

Erfahrenes Mitglied
Hallo,

ich möchte ein JOIN über zwei Datenbanken machen.
Mit dem Join ist soweit alles klar (datenbank1.tabelle1 JOIN datenbank2.tabelle2....)

Das Problem ist, dass ich keine Verbindung zu beiden Datenbanken gleichzeitg bekomme.


//////////////////////////////
//////Connect beider Datenbanken
/////////////////////////////

mysql_connect("rdbms.strato.de", "User1", "Passwort");
mysql_select_db("DB1");

mysql_connect("rdbms.strato.de", "User2, "Passwort");
mysql_select_db("DB2");

//////////////////////////

Damit ist aber nur die Datenbank "DB2" aktiv!
Ich glaube das Problem liegt an den zwei unterschiedlichen Usern. Aber das kann
ich soviel ich weiss bei Strato nicht ändern. Wie kann ich denn sonst auf die zwei
Datenbanken gleichzeitig zugreifen?


Grüsse Sandro
 
Dein Problem ist leicht zu lösen: du wählst einfach keine Datenbank aus sondern schreibst ein Query mit folgender Syntax:
Code:
`datenbank1`.`tabelle1`.`feld1` = `datenbank2`.`tabelle2`.`feld2`
 
Erst mal Danke für die Antwort,

aber muss ich nicht die erst mit Connect eine Verbindung zur Datenbank aufbauen?
Bzw. im Query die Zugangsdaten mitgeben?
 
PHP:
//Das ist der Connect!
mysql_connect("rdbms.strato.de", "User2", "Passwort");

//------------------
//Und was ist das?
//------------------
mysql_select_db("DB2");

mfg chmee
 
Das Problem ist, dass ich zwei Datenbanken gleichzeitig Abfrage,
bzw beide miteinander mittels Join verbinden will.

- Die Datenbanken liegen beide auf dem selben Server bei Strato.
- Haben aber verschiedene Benutzer Namen
- Die Passwörter sind identisch


Somit brauch ich doch irgendwie zwei mal den Connect!?

mysql_connect("rdbms.strato.de", "User1", "Passwort");

mysql_connect("rdbms.strato.de", "User2, "Passwort");
 
Du brauchst nicht zweimal eine Verbindung zur Datenbank herstellen! Du brauchst nur einen Nutzer, der auf beide Datenbanken zugreifen kann. Und das mysql_select_db() lässt du raus und verfährst nach meinem oben angegebenen Beispiel.
 
Geht leider nicht...

PHP:
///Connect
mysql_connect("rdbms.strato.de", "U123456", "Passwort");

///zwei Datenbanken mit JOIN verbinden
$sqlab = "SELECT * FROM DB232323.land LEFT JOIN DB123456.namen ON DB232323.land.nummer = DB123456.namen.nummer";

///Query mit while-Schleife
$res = mysql_query($sqlab);
while ($zeile = mysql_fetch_assoc($res))
...
..


Fehlermeldung:
//Betrifft die while-Schleife//
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /mnt/web6/52/39/51519739/htdocs/freiabfrage.php on line 14

mysql_error(); sagt:
SELECT command denied to user 'U123456'@'hoon.store' for table 'land'


..................
Über ob und wie man bei Strato einen "super"User für die alle Datenbanken einrichten kann
habe ich leider noch nichts gefunden.
..................
 
Darf man grundsätzlich fragen, ob es nicht sinnvoller und sekundär einfacher ist, beide Datenbanken in einer zusammenzufassen, wenn es eh das gleiche (Thema) ist?

mfg chmee
 
Na ja, würde schon gehen.
Das würde aber eine sehr grosse Anzahl an Tabellen pro Datenbank mit sich bringen und
das ganze sehr unübersichtlich machen.

Ist denn Überhaupt möglich zwei Connects gleichzeitig zu machen wenn die USER verschieden sind?


Frohe Ostern allen!
 

Neue Beiträge

Zurück