2 verschiedene mysql datenbank benutzen

Hallo liebe Tutorials.de Community.

Ich habe ein kleineres (oder vielleicht auch größeres) Problem.
Und zwar sieht das folgender Maßen aus.

Ich habe 2 Server auf dennen jeweils Mysql leuft.
Mysql Datenbank A (usr_a_1) ist geöffnet so das ich extern daten reinschreiben kann und auslesen kann.

Mysql Datenbank B ist nicht geöffnet und soll die einträge von Datenbank A auslesen.
Das ist auch kein Problem , als Host einfach den Servernamen angegeben.

Jetzt aber folgendes, ich möchte jetzt aber auch Einträge von Datenbank B benutzen. Die Tabellen namen sind unterschiedlich das es nicht zu verwechselungen kommt.

Wie stelle ich so etwas an?

Bisher sieht es so aus:


Code:
//-----------Part 1
$db_host = "localhost";
$db_user = "weba"; 
$db_password = "";
$db_name = "usr_weba_1"; 
mysql_connect($db_host,$db_user,$db_password) or die (mysql_error()); 
mysql_select_db($db_name) or die (mysql_error()); 



if(mysql_select_db($db_name) == 1):
$esgn_news = "bia_news";

$esgn_news_kats = "bia_news_kats";

else:
echo "Zugriff auf Externen Server nicht freigegeben";
endif;


//-------------------Part 2
$main_host = "DERSERVER";
$main_user = "webb";
$main_password = "";
$main_dbname = "usr_webb_1";
mysql_connect($main_host,$main_user,$main_password) or die (mysql_error()); 

mysql_select_db($main_dbname) or die (mysql_error()); 
$esgn = "news";

Wenn ich jetzt die erste Datenbank benutzen will macht er nen fehler.zum Server connected er aber.
Könnt ihr mir weiterhelfen?
 
Manche MySQL-bezogene Funktionen erlauben die Angabe einer Verbindungskennung. Schau dir mal die entsprechenden Seiten im PHP-Handbuch im Bezug auf diese Verbindungskennung an.
 
Naja ich wollte halt die Tabellen namen alle in einer Datei auflisten diese includieren damit ich die überall benutzen kann.
ansonsten müsste ich ja immer wieder überall die verbindung aufbaun :(

Oder hast du explizietere Seiten im Manual dafür?
Also ich weiß nicht wonach ich suchen muss.
 
Wenn ich dich richtig verstanden habe, möchtest du zwei Datenbankverbindungen parallel benutzen.
Dazu ist aber eine eindeutige Identifizierung beider Verbindungen nötig. Um dies zu gewährleisten, muss die MySQL Verbindungs-Kennung vermerkt werden:
PHP:
$link = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD);
Die nun in der Variable $link gespeicherte Verbindungskennung kann für spätere Interaktionen mit der Datenbank benutzt werden.

Wie das funktioniert findest du im PHP-Handbuch auf den entsprechenden Seiten der MySQL-Funktionen.
 
Wo ist das Problem?

du nimmst deine entsprechenden Zugangsdaten und legst diese wie schon eingangs erwähnt unter verschiedenen Variablen ab.

Danach statest du die Verbindung wie folgt:

$sqla = mysql_connect("Daten für die erste Verbindung");
$sqlb = mysql_connect("Daten für die zweite Verbindung");

Wenn du nun einen mysql_query laufen lässt, musst du das nun so realisieren:

Beispiel einer Anfrage:

$info = "SELECT * FROM xy";
$dat = mysql_query($info, $sqla);

wenn du nun Daten aus der zweiten Verbindung brauchst:

$info = "SELECT * FROM xy";
$dat = mysql_query($info, $sqlb);

Jetzt verstanden?
 
Zurück