Foros del Web » Programando para Internet » PHP »

multiples sentencias mysql php

Estas en el tema de multiples sentencias mysql php en el foro de PHP en Foros del Web. Buenas, tengo una base de datos llamada "generales" con una tabla llamada clientes y otra base de datos llamada "neutras" con una tabla llamada productos ...
  #1 (permalink)  
Antiguo 25/08/2011, 13:32
 
Fecha de Ingreso: marzo-2008
Mensajes: 105
Antigüedad: 16 años, 1 mes
Puntos: 0
multiples sentencias mysql php

Buenas,

tengo una base de datos llamada "generales" con una tabla llamada clientes y otra base de datos llamada "neutras" con una tabla llamada productos , en ambas yo quiero seleccionarlo todo donde el id sea el que recoja de la pagina anterior, eso ultimo es facil.

Pero ahora yo si hago:

$query_all_generales = "SELECT * FROM clientesWHERE id='$id'";
$query_all_neutras = "SELECT * FROM productos WHERE id='$id'";

Pero yo selecciono en la conexion a la base de datos la base de datos generales, por lo tanto la primera query si me la ejecuta, pero la segunda no, y no sé como se arreglaría.

Espero respuesta gracias.
  #2 (permalink)  
Antiguo 25/08/2011, 13:35
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: multiples sentencias mysql php

intentaste cambiando la base de datos?

mysql_select_db o algo por el estilo?
  #3 (permalink)  
Antiguo 25/08/2011, 13:37
 
Fecha de Ingreso: marzo-2008
Mensajes: 105
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: multiples sentencias mysql php

Cita:
Iniciado por Ribon Ver Mensaje
intentaste cambiando la base de datos?

mysql_select_db o algo por el estilo?
Si cambio de base de datos la primera query no me la ejecuta xD, yo quiero que me ejecute las dos, que es lo que me interesa de ambas bases de datos, porque en una tengo una informacion del usuario, y otra tengo mas informacion aun del usuario pero mas completa.
  #4 (permalink)  
Antiguo 25/08/2011, 13:39
Usuario no validado
 
Fecha de Ingreso: septiembre-2007
Ubicación: Cuba
Mensajes: 202
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: multiples sentencias mysql php

por qué no pones las dos tablas en la misma BD?????
  #5 (permalink)  
Antiguo 25/08/2011, 13:40
 
Fecha de Ingreso: marzo-2008
Mensajes: 105
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: multiples sentencias mysql php

Cita:
Iniciado por reyvi Ver Mensaje
por qué no pones las dos tablas en la misma BD?????
Porque en uno es el sistema de WHCMS y otro es código propio mio pero con otra base de datos, es mucho mejor.
  #6 (permalink)  
Antiguo 25/08/2011, 13:44
Avatar de ArkangelGammar  
Fecha de Ingreso: enero-2011
Ubicación: <?php $persona->ubicacion('ArkangelGammar'); ?>
Mensajes: 179
Antigüedad: 13 años, 3 meses
Puntos: 19
Respuesta: multiples sentencias mysql php

no se te abra "mamado" la base?

Proba lo siguiente:

$query_all_generales = "SELECT * FROM generales.clientesWHERE id='$id'";
$query_all_neutras = "SELECT * FROM neutras.productos WHERE id='$id'";

Es decir, definis la tabla a la que le vas a hacer la consulta como <nombreBaseDatos>.<tabla>

si no te funciona, postea el codigo asi nos damos una idea.

Espero haber ayudado

Saludos
__________________
"No entiendes algo al menos que seas capaz de explicarselo a tu abuela.
Cada dia sabemos mas....y entendemos menos...."

A. Einstein - Genio mas alla de la razon.
  #7 (permalink)  
Antiguo 25/08/2011, 13:44
Usuario no validado
 
Fecha de Ingreso: septiembre-2007
Ubicación: Cuba
Mensajes: 202
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: multiples sentencias mysql php

pero es que al final estás utilizando diferentes tablas, recuerda que pedes utilizar la misma base de datos aunque las trates con diferentes códigos desde el modelo
  #8 (permalink)  
Antiguo 25/08/2011, 13:46
 
Fecha de Ingreso: junio-2007
Mensajes: 8
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: multiples sentencias mysql php

Buscas algo asi?

mysql_select_db(MEJOR);
$query_all_generales = "SELECT * FROM clientesWHERE id='$id'";
mysql_select_db(MENOS PEOR);
$query_all_neutras = "SELECT * FROM productos WHERE id='$id'";

Enlazarte con dos bases de datos en el mismo motor?, o dos motores diferentes?
  #9 (permalink)  
Antiguo 25/08/2011, 13:51
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: multiples sentencias mysql php

intenta esto, aunque creo que la idea de poner ambas tablas es la mejor idea.

Código PHP:
Ver original
  1. $link1 = mysql_connect('server','user','pass');
  2. mysql_select_db('generales',$link1);
  3. mysql_query($query_all_generales,$link1);
  4.  
  5. $link2 = mysql_connect('server','user','pass',true);
  6. mysql_select_db('neutras',$link2);
  7. mysql_query($query_all_neutras,$link2);

Insisto, es mejor poner ambas tablas en la misma base jajajaja.
si es el mismo proyecto digo.

saludos
  #10 (permalink)  
Antiguo 25/08/2011, 13:52
 
Fecha de Ingreso: marzo-2008
Mensajes: 105
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: multiples sentencias mysql php

Pongo el código:

Código PHP:
$link mysql_connect("localhost","*","*");
        if (!
$link){die("Error al establecer conexion con la Base de Datos");exit;}
        
mysql_select_db("web_general"); 
Código PHP:
    $uid$_GET["uid"];

    
$query_select_usuariovisitado mysql_query("SELECT * FROM perfiles WHERE whmcsid='$uid'");
    
$query_whmcsid_usuariovisitado mysql_query("SELECT * FROM web_w1hmc.tblclients WHERE id='$uid'"); 
La primera si me la ejecuta puesto que estoy en esa base de datos, pero la segunda que quiero que la ejecute desde otra base de datos, no lo hace.
  #11 (permalink)  
Antiguo 25/08/2011, 14:03
Usuario no validado
 
Fecha de Ingreso: septiembre-2007
Ubicación: Cuba
Mensajes: 202
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: multiples sentencias mysql php

Cita:
Iniciado por Sard Ver Mensaje
Pongo el código:

Código PHP:
$link mysql_connect("localhost","*","*");
        if (!
$link){die("Error al establecer conexion con la Base de Datos");exit;}
        
mysql_select_db("web_general"); 
Código PHP:
    $uid$_GET["uid"];

    
$query_select_usuariovisitado mysql_query("SELECT * FROM perfiles WHERE whmcsid='$uid'");
    
$query_whmcsid_usuariovisitado mysql_query("SELECT * FROM tblclients WHERE id='$uid'"); 
La primera si me la ejecuta puesto que estoy en esa base de datos, pero la segunda que quiero que la ejecute desde otra base de datos, no lo hace.
pues claro pues estas seleccionado la base de datos de la primera consulta con mysql_select_db
Yo creo que lo ideal seria que hicieras la conexión a la BD con mysql_connect y no seleccionaras ahí la BD. Entonces yo haría las siguientes consultas:


Código PHP:
$link mysql_connect("localhost","*","*");
        if (!
$link){die("Error al establecer conexion con la Base de Datos");exit;}

$uid$_GET["uid"];
 
mysql_select_db("general");
$query_select_usuariovisitado mysql_query("SELECT * FROM perfiles WHERE whmcsid='$uid'");
 
mysql_select_db("neutras");
    
$query_whmcsid_usuariovisitado mysql_query("SELECT * FROM web_w1hmc.tblclients WHERE id='$uid'"); 
  #12 (permalink)  
Antiguo 25/08/2011, 14:04
 
Fecha de Ingreso: marzo-2008
Mensajes: 105
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: multiples sentencias mysql php

Cita:
Iniciado por reyvi Ver Mensaje
pues claro pues estas seleccionado la base de datos de la primera consulta con mysql_select_db
Yo creo que lo ideal seria que hicieras la conexión a la BD con mysql_connect y no seleccionaras ahí la BD. Entonces yo haría las siguientes consultas:


Código PHP:
$link mysql_connect("localhost","*","*");
        if (!
$link){die("Error al establecer conexion con la Base de Datos");exit;}

$uid$_GET["uid"];
 
mysql_select_db("general");
$query_select_usuariovisitado mysql_query("SELECT * FROM perfiles WHERE whmcsid='$uid'");
 
mysql_select_db("neutras");
    
$query_whmcsid_usuariovisitado mysql_query("SELECT * FROM web_w1hmc.tblclients WHERE id='$uid'"); 
Vale, probare lo que me has dicho y te digo ahora.
  #13 (permalink)  
Antiguo 25/08/2011, 14:08
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: multiples sentencias mysql php

Yo pensaba que lo hacías así cuando te pregunté si usabas el mysql_select_db, bueno si no te resulta prueba la otra manera que dije xD

Nunca he trabajado con múltiples bases de datos para el mismo proyecto por eso no se si funciona o no usar multiples mysql_select_db

:S

saludos
  #14 (permalink)  
Antiguo 25/08/2011, 14:09
Usuario no validado
 
Fecha de Ingreso: septiembre-2007
Ubicación: Cuba
Mensajes: 202
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: multiples sentencias mysql php

reycuerda ponerle a

mysql_select_db("neutras", $link);
mysql_select_db("general", $link);

se me olvidó ponerle el segundo parametro jajajajajajaj
  #15 (permalink)  
Antiguo 25/08/2011, 14:34
 
Fecha de Ingreso: marzo-2008
Mensajes: 105
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: multiples sentencias mysql php

Nada, cuando hago la segunda seleccion de la base de datos, lo pongo como $link y $link2, puesto que son diferentes usuarios y contraseñas que tiene esa base de datos, pues a la hora de sacar los datos solamente me saca los datos en la cual este la ultima seleccion de la base de datos que es $link2, comento todo lo relacionado a $link2 y me saca la informacion de $link.
  #16 (permalink)  
Antiguo 25/08/2011, 14:54
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: multiples sentencias mysql php

cuando creas $link2 asegurate que el 4to parámetro de mysql_connect sea true, es el parámetro que le indica a php que es una nueva conexión.

saludos.

mysql_connect(server, user, password, new_link);

Etiquetas: multiples, mysql, sentencias, tabla
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 15:01.