Jointure avec 2 base de donnée

Résolu
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.

2 réponses

  1. 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. Au temps pour moi, mauvaise réponse : je n'avais pas compris que tu cherchais à joindre deux bases sur le même serveur.
  2. 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