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_xx
Funktionen 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_link
Parameter ' ' (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.