Jointure avec 2 base de donnée

Résolu
Ender-events Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   -  
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, comment faire une jointure avec 2 base de donnée

J'ai vu qu'on pouvait faire
$bdd->prepare('
SELECT * FROM <database name>.<user>.<table> INNER JOIN <database name>.<user>.<table>
');

mais comment m'y connecter sachant que je me connecte de cette façon ?
$bdd = new PDO('mysql:host=localhost;dbname=db1', 'user1', 'password1');

Et donc normalement ce code devrait fonctionner:
$bdd->prepare('SELECT * FROM db1.user1.table1 INNER JOIN db2.user2.table2'); // évidement les db, useret table sont fictif

Le ON n'est pas fait mais l'idée est la.
A voir également:

2 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Pour ce genre de chose, il faut que le serveur auquel tu te connectes « connaisse » le second serveur.
Il faut donc l'enregistrer, d'une façon ou d'une autre.

Je ne sais pas si MySQL permet ce genre de chose.
Sous MS SQL Server, on appelle cela un serveur lié, ça t'aidera peut-être dans tes recherches...

Xavier
1
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Au temps pour moi, mauvaise réponse : je n'avais pas compris que tu cherchais à joindre deux bases sur le même serveur.
0
Ender-events Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   51
 
C'est bon j'ai trouvé
Voici le code pour se connecter: (dbname=db1; a été retiré)
$bdd = new PDO('mysql:host=localhost;', 'user1', 'password1');

Et la requete SQL doit se faire obligatoirement comme ça: (sans le user)
SELECT * FROM <database name>.<table> INNER JOIN <database name>.<table>

PS: j'ai le même user pour se connecter a la base de donnée donc avec un user différent je ne sais pas si le code fonctionne
0