Warnung: mysql_xx Funktionen sind seit PHP 5.5 veraltet und seit PHP 7.0 entfernt (siehe http://php.net/manual/intro.mysql.php ). Verwenden Sie mysqli_xxFunktionen oder lesen Sie die Antwort unten von @Troelskn
Sie können mehrere Aufrufe durchführen mysql_connect(), aber wenn die Parameter identisch sind, müssen Sie true für den $new_linkParameter ' ' (vierter) übergeben, andernfalls wird dieselbe Verbindung wiederverwendet. Beispielsweise:
$dbh1 = mysql_connect($hostname, $username, $password);
$dbh2 = mysql_connect($hostname, $username, $password, true);
mysql_select_db('database1', $dbh1);
mysql_select_db('database2', $dbh2);
Um die Datenbank 1 abzufragen, übergeben Sie die erste Link-ID:
mysql_query('select * from tablename', $dbh1);
und für Datenbank 2 übergeben Sie die zweite:
mysql_query('select * from tablename', $dbh2);
Wenn Sie keine Link-ID übergeben, wird die zuletzt erstellte Verbindung verwendet (in diesem Fall die durch $dbh2), z.
mysql_query('select * from tablename');
Andere Optionen
Wenn der MySQL-Benutzer Zugriff auf beide Datenbanken hat und sich auf demselben Host befindet (dh auf beide DBs kann über dieselbe Verbindung zugegriffen werden), können Sie:
- Lassen Sie eine Verbindung offen und rufen Sie
mysql_select_db()an, um bei Bedarf zwischen ihnen zu wechseln. Ich bin nicht sicher, ob dies eine saubere Lösung ist, und Sie könnten am Ende die falsche Datenbank abfragen.
- Geben Sie den Datenbanknamen an, wenn Sie auf Tabellen in Ihren Abfragen verweisen (z
SELECT * FROM database2.tablename. B. ). Dies ist wahrscheinlich ein Problem bei der Implementierung.
Lesen Sie auch die Antwort von troelskn, da dies ein besserer Ansatz ist, wenn Sie PDO anstelle der älteren Erweiterungen verwenden können.