Jointure avec 2 base de donnée

Résolu/Fermé
Ender-events Messages postés 200 Date d'inscription mercredi 19 décembre 2012 Statut Membre Dernière intervention 23 mai 2014 - Modifié par Ender-events le 3/04/2014 à 00:20
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 4 avril 2014 à 10:18
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 jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
3 avril 2014 à 11:02
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 jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
4 avril 2014 à 10:18
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 mercredi 19 décembre 2012 Statut Membre Dernière intervention 23 mai 2014 51
Modifié par Ender-events le 4/04/2014 à 09:25
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