2010-03-31 4 views
0

Je dois joindre deux tables provenant de différentes chaînes de connexion MySQL (PHP) et de différentes bases de données.Joindre des tables à partir de deux chaînes de connexion différentes

$conn = mysql_connect('192.168.30.20', 'user', 'pass'); 
$conn2 = mysql_connect('anotherIPHere', 'user2', 'pass2'); 

$db = mysql_select_db('1stdb', $conn); 
$db2 = mysql_select_db('2nddb', $conn2); 

Si j'utilise la même connexion, je voudrais juste préfixer les tables avec les noms de db, tels que database1.table1.column et database2.table2.column2, mais depuis que j'utilise deux chaînes de connexion complètement séparées la requête MySQL ne sait pas quelle chaîne de connexion utiliser, donc la ressource n'est pas utilisable. J'ai lu une tonne de ressources qui montrent comment utiliser deux bases de données, à partir de la chaîne de connexion SAME et qui fonctionne bien, mais je ne trouve rien lié à plusieurs chaînes de connexion et bases de données.

Merci

Répondre

5

Il n'y a aucun moyen de le faire dans la requête. A propos de la seule possibilité est si vous utilisez un MySQL FEDERATED Table qui vous permet d'accéder aux tables sur les serveurs distants.

+1

+1. était sur le point de dire cela aussi – Gordon

+0

moi aussi ... mais une telle réponse est assez ;-) – VolkerK

2

Vous ne pouvez pas faire côté serveur base de données-il, c'est sûr. Vous devrez télécharger l'ensemble de lignes filtré pour chaque table que vous souhaitez joindre, puis itérer manuellement dans le code pour joindre les deux ensembles de lignes où vous voulez.

Questions connexes