2 Datenbank Verbindungen herstellen

themonk

Erfahrenes Mitglied
Hallo,
ich habe 2 Server auf denen jeweils eine Datenbank ist die ich für ein Script brauche.
Nur wie kann ich jetzt die 2 Verbindungen herstellen und meinen Abfragen sagen, in welcher Datenbank die jeweilige Tabelle liegt.

Bisher hatte ich das so:
PHP:
$link1 = mysql_connect('localhost', 'user', 'pw');
if (!$link1) {
   die('keine Verbindung möglich: ' . mysql_error());
}

$db1 = "db";[
$db2 = "db2";
---
"SELECT * FROM $db.user
Aber so geht das nicht wenn die auf 2 unterschiedlichen Servern liegen.
 
Hi,

dann brauchst Du natürlich auch 2 Connects:

PHP:
$link1 = mysql_connect('server1', 'user1', 'pw1');
if (!$link1) {
   die('keine Verbindung möglich: ' . mysql_error());
} 
$link2 = mysql_connect('server2', 'user2', 'pw2');
if (!$link2) {
   die('keine Verbindung möglich: ' . mysql_error());
}

LG
 
Und wie geht das dann weiter?
Soweit war ich auch schon hatte dann noch
PHP:
$db = mysql_select_db('db', $link);
 
Dazu bietet [phpf]mysql_query[/phpf] als zweiten optionalen Parameter an, eine Datenbankressource zu übergeben.
 
Dann müsste die Abfrage so aussehen:
PHP:
  $sql = "SELECT * FROM tabelle";


    $sqla = mysql_query($sql,$db) or die("Error: " . mysql_error());
...

Nur da kommt jetzt nichts nichtmal ein fehler
 
Hi,

nein, der 2. Parameter von mysql_query muss eine Link-Resource sein, also das, was mysql_connect im Erfolgsfall zurückliefert.

LG

Nachtrag: mysql_select_db musst Du diese Link-Resource natürlich auch übergeben, sonst ist ja nicht klar, für welche Verbindung jetzt die aktuelle DB gesetzt werden soll.
 
Zuletzt bearbeitet:
also muss da
PHP:
$sqla = mysql_query($sql,$db) or die("Error: " . mysql_error());
stehen.
Wo muss ich mit dem $db aus
PHP:
$db = mysql_select_db('db', $link);
hin wie gehabt vor der Tabelle ? $db.tabelle
 
Zurück