Foros del Web » Programando para Internet » PHP »

Conectarme a dos bases de datos

Estas en el tema de Conectarme a dos bases de datos en el foro de PHP en Foros del Web. ¡Hola! Tengo una web en español e inglés... y dos bases de datos Una para datos generales y otras específicos según el idioma. ¿Cómo hago ...
  #1 (permalink)  
Antiguo 10/04/2010, 05:23
 
Fecha de Ingreso: enero-2010
Mensajes: 214
Antigüedad: 14 años, 3 meses
Puntos: 4
Conectarme a dos bases de datos

¡Hola!

Tengo una web en español e inglés... y dos bases de datos

Una para datos generales y otras específicos según el idioma.

¿Cómo hago para trabajar con las dos bases de datos y hacer unas consultas a una base y otras a otra?

Ejemplo....

Código PHP:
mysql_query("SQL",paralabase1)
mysql_query("SQL",paralabase2
Un saludo!
  #2 (permalink)  
Antiguo 10/04/2010, 05:35
 
Fecha de Ingreso: diciembre-2009
Mensajes: 612
Antigüedad: 14 años, 4 meses
Puntos: 16
Respuesta: Conectarme a dos bases de datos

http://foro.elhacker.net/php/clases_...t147928.0.html

Prueba ahí la DBALL, y nos comentas
  #3 (permalink)  
Antiguo 10/04/2010, 06:05
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Conectarme a dos bases de datos

No tiene mucha mas complicación que trabajar con una base de datos, cuando haces mysql_connect te devuelve un identificador para la base de datos, haces dos mysql_connect y almacenas los identificadores en dos variables diferentes, y entonces como tu mismo has puesto en tu ejemplo, al hacer mysql_query, en el segundo parametro pones el identificador de la base de datos a la que quieres acceder.

Un saludo
  #4 (permalink)  
Antiguo 10/04/2010, 06:06
Avatar de Tokkara  
Fecha de Ingreso: junio-2008
Mensajes: 131
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: Conectarme a dos bases de datos

Depende:

Si las bases de datos se encuentran en el mismo servidor, con una conexion te basta.
Código PHP:
Ver original
  1. $bd = mysql_connect($server, $user, $pass);
  2.  
  3. //trabajar con la BD1
  4. mysql_select_db($nombre_bd1, $bd);
  5. mysql_query($query, $bd)
  6. //Seguir trabajando...
  7.  
  8. //Cambiar a la BD 2
  9. mysql_select_db($nombre_bd2, $bd);
  10. mysql_query($query, $bd)
  11. //Seguir trabajando...
  12.  
  13. //Incluso trabajar con las 2 a la vez.
  14. mysql_select_db($nombre_bd1, $bd);
  15. mysql_query("SELECT tb1.*, tb2.* FROM ".$tabla_bd1." tb1, ".$nombreBD2.".".$tabla_bd2, $bd);
  16. //Para trabajar con 2 bases de datos a la vez tienes que seleccionar una de ellas como la
  17. //principal y después para acceder a las tablas  y a los campos de la bd que NO has
  18. //escogido, hay que añadirle su nombre como prefijo: nombrebd.nombretabla.nombreCampo

Ahora si las bases de datos están en distintos servidores hay que usar 2 conexiones distintas
Código PHP:
Ver original
  1. $bd1 = mysql_connect($server1, $user1, $pass1);
  2. $bd2 = mysql_connect($server2, $user2, $pass2);
  3.  
  4. mysql_select_db($nombre_bd1, $bd1);
  5. mysql_select_db($nombre_bd2, $bd2);
  6.  
  7. //Trabajar con la primera bd
  8. mysql_query($query, $bd1)
  9.  
  10. //Trabajar con la segunda bd
  11. mysql_query($query, $bd2);
  12.  
  13. //A diferencia de el ejemplo anterior en este caso, creo que no se pueden crear querys con las 2 bases de datos a la vez.

Espero que te sirva.
__________________
Revolucionario controlador de plantillas para php
www.simphple.com
  #5 (permalink)  
Antiguo 10/04/2010, 08:05
 
Fecha de Ingreso: enero-2010
Mensajes: 214
Antigüedad: 14 años, 3 meses
Puntos: 4
Solucionado: Conectarme a dos bases de datos

¡Una vez más muchas gracias!, por fin he conseguido darle solución al problema, me ha servido la última propuesta, ya que mis bases de dato están en servidores diferentes :)

Un saludo!

Etiquetas: bases, dos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 14:56.