[RESOLU] [PHP] Utilisation de 2 BDD dans la meme page

Utilisation de 2 BDD dans la meme page [RESOLU] [PHP] - PHP - Programmation

Marsh Posté le 29-05-2005 à 15:28:35    

Bonjour,
 
Dans la meme page, je dois utiliser 2 bases de données, sur le meme serveur.
Mon soucis est pour la sélection de ces bases qui se font normalement avec mysql_select_db.
 
Or c'est un peu lourd de switcher entre ces 2 bases continuellement.
J'aurais voulu savoir s'il n'était pas possible d'indiquer sur quelle base executer la requete lors de l'appel au mysql_fetch_array.
Ou une autre méthode qui pourrait me permettre de faire ca
 
Merci beaucoup
Worldofdada


Message édité par Worldofdada le 02-06-2005 à 18:30:54
Reply

Marsh Posté le 29-05-2005 à 15:28:35   

Reply

Marsh Posté le 29-05-2005 à 15:29:36    

J'ai peut etre oublié de préciser que j'étais avec des bases MySQL, et en PHP (c'était indiqué dans le sujet).
 
Merci

Reply

Marsh Posté le 29-05-2005 à 16:14:38    

Tu peux faire 2 identifiants de connection surle meme serveur mais utilisant une base differente, et apres tu le specifie lors du mysql_query (et non pas du tech array)


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 29-05-2005 à 17:38:32    

Je ne comprends pas bien.
Je fais une connexion a mon serveur de bdd et apres je me connecte a 2 bdd différentes.
 
Par exemple, j'ai fais ca et ca ne marche pas :

Code :
  1. $Base2 = mysql_pconnect("localhost", "root", "" ) OR die("Connexion impossible au serveur de données" );
  2. mysql_select_db("mabase", $Base2) or die( "Connexion impossible à la base de donnée" );


 
J'utilise ma base1 jusqu'a avoir besoin de la 2. Et ca ne marche pas lorsque je lance ma requete :  

Code :
  1. $req = mysql_query("SELECT * FROM juge", $Base2);


 
Il y a du avoir un truc que j'ai mal compris ...
 
Merci

Reply

Marsh Posté le 29-05-2005 à 18:01:13    

Tu précises ta base dans le mysql_select_db, donc inutile de continuer a la mettre après.
 
Par contre, quand tu as fini de bosser sur une base, refais un mysql_select_db de l'autre ...
 
Si tu le fais deja, passes le code entier :D

Reply

Marsh Posté le 29-05-2005 à 18:16:56    

Deja virre ton pconnect , pour un connect. Apres lache nous le code qu'on puisse y voir un peu plus clair


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 29-05-2005 à 18:23:30    

Dans connexion.php :

Code :
  1. $BaseA = mysql_pconnect("localhost", "root", "" ) OR die("Connexion impossible au serveur de données" );
  2. mysql_select_db("A", $Base_control) or die( "Connexion impossible à la base de donnée" );


 
Dans connexion2.php :  

Code :
  1. $BaseB = mysql_pconnect("localhost", "root", "" ) OR die("Connexion impossible au serveur de données" );
  2. mysql_select_db("B", $BaseB) or die( "Connexion impossible à la base de donnée" );


 
Dans ma page :

Code :
  1. include("connexion.php" );
  2. include("connexion2.php" );
  3. .........................
  4. // Requete utilisant la connexion B
  5. // Pas de problèmes
  6. $requete = mysql_query("SELECT * FROM ....", $BaseB);
  7. if($ligne = mysql_fetch_array($requete))
  8. {
  9. .........................
  10. }
  11. // Requete utilisant la connexion A
  12. // Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ......\header.php on line 128
  13. $requete = mysql_query("SELECT * FROM ....", $BaseB);
  14. if($ligne = mysql_fetch_array($requete))
  15. {
  16. .........................
  17. }


 
Voilà mon code.
Pourquoi devoir virer le pconnect ? Ce n'est pas mieux ?
 
Merci beaucoup ....
Damien

Reply

Marsh Posté le 29-05-2005 à 18:58:56    

Citation :

# // Requete utilisant la connexion A
# // Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ......\header.php on line 128
# $requete = mysql_query("SELECT * FROM ....", $BaseB);


 
Moi je vois un $BaseB, pas un $BaseA


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 29-05-2005 à 19:38:28    

Oui pardon, c'est moi qui me suis trompé dans la copie ... pas dans le code (comme mes objets ne s'appellent pas BaseA et BaseB, j'ai utilisé ca pour simplifier)

Reply

Marsh Posté le 29-05-2005 à 20:03:36    

y a aussi un $base_controle qui n'est pas existant quand il est utiliser dans le mysql_select_db ^^'

Reply

Marsh Posté le 29-05-2005 à 20:03:36   

Reply

Marsh Posté le 30-05-2005 à 14:29:18    

sinon, tu ne fais pas de mysql_select_db et tu préfixes tes tables  
 
par exemple
 
mysql_connect(...) ...
 
$sql = 'SELECT * FROM mabase1.matable';
 
$sql2 = 'SELECT * FROM mabase2.matable';

Reply

Marsh Posté le 30-05-2005 à 14:41:13    

ok, si je fais un mysql_select_db de la base A, ca va sélectionner ma base pour les requetes qui suient ... jusque là ok
 
Est ce que si je fais 'SELECT * FROM mabaseB.matable' ca va passer sans faire de mysql_select_db ?
Ca permettrait d'avoir une base par défaut et de ne préfixer que quand il y a besoin ...
 
Merci

Reply

Marsh Posté le 30-05-2005 à 14:55:19    

j'ai envie de te dire : essaye :)

Reply

Marsh Posté le 31-05-2005 à 09:36:48    

c'est ce que je vais faire   ;)  
dès que j'aurais un peu de temps

Reply

Marsh Posté le 02-06-2005 à 18:30:39    

Ca marche niquel, merci beaucoup

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed