Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie verwende ich mehrere Datenbanken mit PHP?

Sie benötigen keine zwei Verbindungen, wenn sich beide Datenbanken auf demselben mysql-Server befinden und Sie beide als Unique User darauf zugreifen.

Sie müssen auch keine DB auswählen.
Verwenden Sie einfach den Datenbanknamen als Präfix bei der Angabe der Tabellen:

<?php

mysql_connect("localhost","root","pass") or die(mysql_error());

$query = "SELECT * FROM asteriskcdrdb.cdr";
$result = mysql_query($query)or die(mysql_error());
var_dump($result);

$query2 = "SELECT * FROM pj8v2.tb_did_avalaible";
$result2 = mysql_query($query2)or die(mysql_error());
var_dump($result2);

?>

Das eigentliche Problem in Ihrem Code ist:Es kann nur eine aktive DB geben, es sollte so funktionieren:

<?php

$conn1 = mysql_connect("localhost","root","passw0rd") or die(mysql_error());   
$conn2 = mysql_connect("localhost","root","passw0rd",true) or die(mysql_error());

mysql_select_db("asteriskcdrdb",$conn1);
$query = "SELECT * FROM cdr";
$result = mysql_query($query,$conn1);

var_dump($result);


mysql_select_db("pj8v2",$conn2);
$query2 = "SELECT * FROM tb_did_avalaible";
$result2 = mysql_query($query2,$conn2);

var_dump($result2);

?>

Obwohl keine 2 Verbindungen erforderlich sind, können Sie beide DBs über dieselbe Verbindung auswählen.