Comunidad de diseño web y desarrollo en internet online

Conectar a dos bases de datos con las mismas tablas

Citar            
MensajeEscrito el 17 Oct 2005 05:05 pm
Buenas a tod@s!!!

Hoy me he encontrado con un problema, que nunca antes me habia encontrado :(
Necesito conectarme a dos bases de datos diferentes.
Por ejemplo, en un archivo php que utilizo para conectar a la DB.

<?php
$HOSTNAME = "localhost"; //SERVIDOR
$USERNAME = "ejemplo"; //USUARIO
$PASSWORD = "ejemplito"; //CONTRASEÑA
$DATABASE = "ejemplatito"; //BASE DE DATOS
?>
Normalmente solo he tenido que utilizar esta forma, pero ahora tengo que añadir otra base de datos, con otro nombre de usuario y otro password, es posible hacerlo??
Alguien me podría orientar?
Muchisimas gracias ;)

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 17 Oct 2005 05:19 pm
no puedes crear una función que necesite como parametros esos datos simplemente??? esta es una idea (pseudocódigo)

Código :

function conecta($db, $contra)
{
   $host = "localhost";
   $user = "el_usuario";
   $password = $contra;
   $base = $db;
 .............
 // Todo lo que siga
}


y ya en tus programas algo como

Código :

conecta("mibd", "lacontraseña");


Repito , esto es un pseudocódigo, adaptalo a tus necesidades....

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 17 Oct 2005 05:59 pm
Creo q no me expliqué demasiado bien.
Voy a explicar el caso en concreto:
Tengo dos bases de datos, una llamada chicas y otra chicos, las dos tienen las mismas tablas (solo cambia su contenido).
Mi problema esq para hacer login en la web tengo que comprobar su nick y clave, pero claro para ello m tengo q conectar a las dos bases. Ese es realmente el problema, q en otros casos ponia la opcion de Chico o chica? y segun dond cliquearan pues se conectaba a una base u otra, pero en esta ocasion no tengo eleccion, debo de poderme conectar a las dos para buscar el nick y la clave en las dos bases simultaneamente.
Muchas gracias Aoyama por el interes!!

Por bluenet

100 de clabLevel



Genero:Masculino  

Sevilla

msie
Citar            
MensajeEscrito el 17 Oct 2005 07:21 pm
las conexiones mysql hay que definirlas con un nombre pasado como variable.
de la siguiente manera:


$conex=mysql_connect("localhost","user","pass");
mysql_select_db("database",$conex);



ahora la conex sería $conex

si quisiera dos o tres lo haria así



$conex1=mysql_connect("localhost","user","pass");
mysql_select_db("database",$conex1);
$conex2=mysql_connect("localhost","user","pass");
mysql_select_db("database",$conex2);
$conex3=mysql_connect("localhost","user","pass");
mysql_select_db("database",$conex3);


en los querys usas mysql_query("",$conex);

Por jhony192

791 de clabLevel

1 tutorial

Genero:Masculino  

Just Another Programmer

firefox
Citar            
MensajeEscrito el 17 Dic 2008 09:53 pm
ola la verda esa repsuesta solo ayuda en algo, ya que solo funciona con los queery que esten debado de esta linea de codigos, sin embrago lo que se busca es mandar un query con una linea de conexion a base de datos propia, hay alguien por agi que lo sepa

Por serfune

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 18 Dic 2008 12:45 am
con un solo enlace y el mysql_select_db antes de el login necesario

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 18 Dic 2008 05:12 am
Ola soy yo denuevo y ya tengo la respuesta a todo, la vedad no hay que preocupartas cual es la base de datos que abramos si no de nuestro query es decir que si queremos hacer un select en distisan bae de datos seria algo asi.


select a.campo, b.nombre from base1.tabla1 a, base2.tabla1 b


de esa manera estoy cogiendo datos de distintas base de datos son necesidad de hacer mi conexion a casa momento

Por serfune

5 de clabLevel



 

msie7
Citar            
MensajeEscrito el 18 Dic 2008 05:15 am
Bueno creo que deberia haber algo de orden en cuanto a como creas la conexion a la BD y como la llamas

como soy precursor de las buenas costumbres te aconsejo y recomiendo que leas como crear una clase que maneje MySQl aqui seguido eso seria formidable que leyeras sobre los singleton muy usados para llamar la clase que gestiona base de datos o multiples bases de datos, con eso podras solucionar tu problema :meditar:

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

firefox
Citar            
MensajeEscrito el 18 Dic 2008 05:49 am
si la otra base de datos se encuentra en el mismo servidor y motor no necesitas haer 2 conexiones, solo precisar la BD en la consulta

Código MySQL :

SELECT xx.*, yy.*  FROM db1.`tabla1` xx , db2.`mi_tabla` yy  # esto es solo un ejemplo, no seas rata y usa JOIN

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 18 Dic 2008 02:29 pm

bluenet escribió:

Tengo dos bases de datos, una llamada chicas y otra chicos, las dos tienen las mismas tablas (solo cambia su contenido)
¿No es preferible que simplemente en la tabla donde tengas los datos de los usuarios agregues un campo sexo y lo preguntes a la hora de registrarse? ¿Para qué malgastar espacio con otra BD exactamente con la misma estructura simplemente para diferenciar a los usuarios por sexo?

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox
Citar            
MensajeEscrito el 18 Dic 2008 02:36 pm

KB-27 escribió:

bluenet escribió:

Tengo dos bases de datos, una llamada chicas y otra chicos, las dos tienen las mismas tablas (solo cambia su contenido)
¿No es preferible que simplemente en la tabla donde tengas los datos de los usuarios agregues un campo sexo y lo preguntes a la hora de registrarse? ¿Para qué malgastar espacio con otra BD exactamente con la misma estructura simplemente para diferenciar a los usuarios por sexo?


tienes toda la razón, el diseño de la DB va mal :P

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 19 Dic 2008 03:59 am
eso mismo avia pensado yo pero digamosle a bluenet a ver q dice porq lo ha echo asi

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 23 Dic 2008 05:53 pm
creo que para esta clase de preguntas se deve dar el codigo limpio sin mas complicaciones como los join o las clase que no son muy usadas por los usuarios inexpertos, el orden los parematros, el orden o la metologia del parametro ya biene de uno mismo, el ejemplo esta y funciona. :evil:

Por serfune

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Dic 2008 06:14 pm

serfune escribió:

creo que para esta clase de preguntas se deve dar el codigo limpio sin mas complicaciones como los join o las clase que no son muy usadas por los usuarios inexpertos, el orden los parematros, el orden o la metologia del parametro ya biene de uno mismo, el ejemplo esta y funciona. :evil:


en mi experiencia estas totalmente equivocado, los JOIN son muy importantes, pues la gente inexperta debe entender bien como se arma una consulta

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 23 Dic 2008 06:37 pm

serfune escribió:

creo que para esta clase de preguntas se deve dar el codigo limpio sin mas complicaciones como los join o las clase que no son muy usadas por los usuarios inexpertos, el orden los parematros, el orden o la metologia del parametro ya biene de uno mismo, el ejemplo esta y funciona. :evil:
Oye, pienso que la idea no es simplemente solucionar un problema y ya, también creo en inculcar el hábito de investigar y alimentar esa sed de aprender que tenemos muchos, aprender es crecer, tanto personal como profesionalmente... Si quieres tener mejores oportunidades, profesionalmente hablando, hay que estar aprendiendo día a día...

Que los usuarios inexpertos no saben sobres ciertos temas, muy cierto, inclusive no hay que ser "inexperto" como tu dices para no conocer algún tema, pero cuando las personas que pertenecen a esta comunidad sugieren una solución no es porque sea c00l ni nada por el estilo, sino porque existe una buena razón (ya sea eficiencia, eficacia, algún estándar, mejor práctica, etc), para que recomienden eso, aqui hay bastante profesionales bien preparados que conocen el porque de una solución para determinado problema...

Y como dice en la firma personal de The Fricky!
Copy/Paste no es programar
Pd: ¡Vaya! me faltó el himno de CLab de fondo... :lol:

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox
Citar            
MensajeEscrito el 23 Dic 2008 08:28 pm
KB-27 felicitaciones por captar tan bien el espíritu de esta comunidad

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 23 Dic 2008 08:35 pm

Inyaka escribió:

KB-27 felicitaciones por captar tan bien el espíritu de esta comunidad
^^ Gracias...

Por KB-27

Claber

301 de clabLevel



 

My very secret HQ

firefox
Citar            
MensajeEscrito el 27 Dic 2008 01:59 am
ya veo que en este foro los toros no se acuerdan cuando fueron terneros, y que todos piensan = que ellos, que bajo.

Por serfune

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Dic 2008 05:13 am

serfune escribió:

ya veo que en este foro los toros no se acuerdan cuando fueron terneros, y que todos piensan = que ellos, que bajo.

...y yo veo que no has captado la diferencia entre enseñar y fomentar la vagancia; eso es bajo U_U

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

chrome
Citar            
MensajeEscrito el 27 Dic 2008 06:20 am

serfune escribió:

ya veo que en este foro los toros no se acuerdan cuando fueron terneros, y que todos piensan = que ellos, que bajo.
si no me acordara de cuando fui ternero no me molestaría en guiar el aprendizaje, ademas si se me llegase a olvidar seria cosa de ver el foro, yo aprendí en clab todo lo que se, por eso es que ahora intento retribuir en la medida de lo posible


que me emociono joder ¡¡¡ :cry:



XD

PD. tu eres el unic@ que aun no a entendido, por que al parecer todos los otros novatos del post ya entendieron, de todos modos bienvenid@ a clab, si logras sobrevivir el primer mes tu alma sera absorbida por la sinapsis y si entiendes a que sinapsis me refiero es que ya estas jodid@ XD

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 27 Dic 2008 01:17 pm

Por One

Claber

1488 de clabLevel

5 tutoriales

Genero:Masculino  

Programador Web

chrome
Citar            
MensajeEscrito el 27 Dic 2008 06:36 pm
One al parecer no es un troll solo es una persona que no entiende aun sobre informatica, ni de comunidad. despues de algo de amor claber puede aprender, todos alguna ves fuimos así de tarados XD

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.