Salut,
J'aimerais savoir si c'est possible de se connecter à deux bases différentes d'un même serveur...
Si oui, pouvez-vous me montrer le style de comme...
(j'utilise PHP5 en procédure classique)
Merci...
Salut,
J'aimerais savoir si c'est possible de se connecter à deux bases différentes d'un même serveur...
Si oui, pouvez-vous me montrer le style de comme...
(j'utilise PHP5 en procédure classique)
Merci...
Bonjour,
C'est tout à fait possible. L'exemple dépend des fonctions utilisées pour dialoguer avec la base MySQL (PDO, Mysql, Mysqli...). Par exemple, avec mysql_*, mysql_connect renvoie une ressource qui doit être passée en paramètre aux autres fonctions (par exemple mysql_query). Avec les autres bibliothèques, le principe est similaire.
Si ce sont deux bases sur le meme serveur mysql, tu peux aussi les appeller naturellement avec la meme connexion.
Il faut juste bien indiquer le nom de la base quand on tape en dehors de la base selectionnée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); $db_selected = mysql_select_db('premiere_base', $link); $sql = 'SELECT colonne FROM autre_base.table';
Autrement dit j'utilise :
et avant la requéte j'appelle la base que j'ai besoin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); $Base_1 = mysql_select_db('Base_1', $link); $Base_2 = mysql_select_db('$Base_2', $link);
Est-ce que j'ai raison ? Ou y-a-t'il plus simple encore ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if ($Base_2) { $sql = 'SELECT colonne FROM autre_base.table'; .......................................... }
Oui, de faire comme je l'ai indiqué. C'est a dire simplement bien nommer dans tes requetes les colonnes venant d'une autre base que celle selectionnée "base.colonne"Ou y-a-t'il plus simple encore ?
mysql_select_db renvoit TRUE ou FALSE, mais pas un identifiant.
Le plus simple est carrément de ne pas faire de mysql_select_db.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT t1.col1, t2.col2 FROM base1.table1 t1 INNER JOIN base2.table2 t2 ON t1.id = t2.id
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Ok, je comprends pour cette requéte :
Mais comment fais-tu pour une requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $sql = 'SELECT colonne FROM autre_base.table';
Code : Sélectionner tout - Visualiser dans une fenêtre à part CREATE TABLE Films (............)
Partager