Foros del Web » Programando para Internet » PHP »

Error al acceder a dos bases de datos

Estas en el tema de Error al acceder a dos bases de datos en el foro de PHP en Foros del Web. Buenas, estoy modificando un aplicativo en php 4.7. Necesito comparar tablas de dos bases de datos diferentes y me da el seguiente error: mysql_fetch_array() expects ...
  #1 (permalink)  
Antiguo 15/10/2019, 06:39
 
Fecha de Ingreso: enero-2002
Ubicación: Sabadell
Mensajes: 547
Antigüedad: 17 años, 9 meses
Puntos: 4
Error al acceder a dos bases de datos

Buenas, estoy modificando un aplicativo en php 4.7.
Necesito comparar tablas de dos bases de datos diferentes y me da el seguiente error:

mysql_fetch_array() expects parameter 1 to be resource, boolean given in en la linea while ($c1 = mysql_fetch_array($c)) {

Qué estaré haciendo mal?

Gracias

Código PHP:
Ver original
  1. $con1 = mysql_connect("localhost", "user1", "pass1") or die(mysql_error());
  2. $con2 = mysql_connect("99.99.99.99:3306", "user2", "pass2") or die(mysql_error());
  3.  
  4. mysql_select_db("db1", $con1) or die(mysql_error());
  5. $c = mysql_query("SELECT * FROM xxx");
  6. while ($c1 = mysql_fetch_array($c)) {
  7.     $campo = $c1['campo'];
  8.     if ($campo != "") {
  9.         mysql_select_db("db2", $con2) or die(mysql_error());
  10.         $o = mysql_query("SELECT * FROM yyy WHERE id = '".$campo."'");
  11.         if (mysql_num_rows($o) < 1)
  12.             echo "bla bla bla<br/>";
  13.         mysql_select_db("db1", $con1) or die(mysql_error());
  14. }
__________________
Qué fácil cuando lo sabes y qué difícil cuando no
  #2 (permalink)  
Antiguo 15/10/2019, 09:04
 
Fecha de Ingreso: abril-2006
Mensajes: 313
Antigüedad: 13 años, 6 meses
Puntos: 60
Respuesta: Error al acceder a dos bases de datos

Cita:
Iniciado por mblascog Ver Mensaje
Buenas, estoy modificando un aplicativo en php 4.7.
Necesito comparar tablas de dos bases de datos diferentes y me da el seguiente error:

mysql_fetch_array() expects parameter 1 to be resource, boolean given in en la linea while ($c1 = mysql_fetch_array($c)) {

Qué estaré haciendo mal?

Gracias

Código PHP:
Ver original
  1. $con1 = mysql_connect("localhost", "user1", "pass1") or die(mysql_error());
  2. $con2 = mysql_connect("99.99.99.99:3306", "user2", "pass2") or die(mysql_error());
  3.  
  4. mysql_select_db("db1", $con1) or die(mysql_error());
  5. $c = mysql_query("SELECT * FROM xxx");
  6. while ($c1 = mysql_fetch_array($c)) {
  7.     $campo = $c1['campo'];
  8.     if ($campo != "") {
  9.         mysql_select_db("db2", $con2) or die(mysql_error());
  10.         $o = mysql_query("SELECT * FROM yyy WHERE id = '".$campo."'");
  11.         if (mysql_num_rows($o) < 1)
  12.             echo "bla bla bla<br/>";
  13.         mysql_select_db("db1", $con1) or die(mysql_error());
  14. }
lo mas seguro es que te es dando un error al llamar al SELECT de mysql, fijate si existen las tablas

y por la forma que lo realizas, supongo que tu registros no son de millones y millones no? de lo contrario tienes que ejecutar tu script desde la CONSOLA, de lo contrario, tendras que alargar el tiempo de script en ejecucion si estas usando APACHE
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.me/pools/c/87BTML2gwr



La zona horaria es GMT -6. Ahora son las 21:52.