Foros del Web » Programando para Internet » PHP »

Duda con conexion mysqli

Estas en el tema de Duda con conexion mysqli en el foro de PHP en Foros del Web. Con la noticia de PHP me he puesto a cambair las conexiones de mi base de datos. La conexion la estoy devolviendo como un procedimiento ...
  #1 (permalink)  
Antiguo 07/12/2012, 07:36
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Duda con conexion mysqli

Con la noticia de PHP me he puesto a cambair las conexiones de mi base de datos.

La conexion la estoy devolviendo como un procedimiento de esa forma

Código PHP:
funtion conexionA(){
$mysqli = new mysqli('localhost''my_user''my_password''BaseA');

if (
$mysqli->connect_error) {
    die(
'Connect Error (' $mysqli->connect_errno ') '
            
$mysqli->connect_error);
}else return 
$mysqli ;
}

funtion conexionB(){
$mysqli = new mysqli('localhost''my_user''my_password''BaseB');

if (
$mysqli->connect_error) {
    die(
'Connect Error (' $mysqli->connect_errno ') '
            
$mysqli->connect_error);
}else return 
$mysqli ;

Como veis tengo dos conexion a diferentes bases de datos, ya que tengo que hacer Select desde una base de datos a otra, la pregunta es cuando hago el mysqli_query ($linkA, $consulta); Como puedo hacer la conexion contra las dos bases ????
  #2 (permalink)  
Antiguo 07/12/2012, 07:50
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Duda con conexion mysqli

Solo tienes que crear dos variables diferentes y cada una a su base de datos y luego llamas a cada una. Pero si lo que deseas es unir dos tablas en diferentes lugares, solo tienes que cuando declares una tabla llamarla indicando la base de datos que corresponde, algo así

Código PHP:
Ver original
  1. SELECT * FROM baseDeDatos.tabla t1 INNER JOIN baseDeDatos2.tabla2 t2 ON t2.columna = t1.columna
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 07/12/2012, 07:57
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Duda con conexion mysqli

Gracias por tu respuesta creo que estoy algo confundido.

En la select que hago uno las dos tablas de diferente bases de datos,
Por l oque me dices con una conexion que apunta a otra BD ya puedo realizar la select ??????

Si me conexion apunta a BASEA puedo hacer la SELECT * FROM BASEA.tabla, BASEB.tabla

??????????????¿¿¿¿¿¿¿¿¿¿¿¿
  #4 (permalink)  
Antiguo 07/12/2012, 08:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Duda con conexion mysqli

Sí es posible apuntar a dos base de datos en el mismo query, trátalo y nos dejas saber.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 07/12/2012, 12:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Duda con conexion mysqli

Ojo que el usuario que utilices tiene que tener permisos en ambas bases de datos, si no te marcará error.
  #6 (permalink)  
Antiguo 07/12/2012, 12:22
nfo
 
Fecha de Ingreso: octubre-2008
Ubicación: EsPaCiO TiEmPo
Mensajes: 408
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Duda con conexion mysqli

Ok, gracias, el problema que tenia era que el usuario no tenia permisos en ambas bd por eso usaba dos conexiones, me carge una de las conexiones ya sabiendo que con una podia tener acceso a las demás :)

Etiquetas: conexion, mysql, mysqli
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:33.