Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Select e Insert de Diferentes BD en el mismo Script

Estas en el tema de Select e Insert de Diferentes BD en el mismo Script en el foro de PHP en Foros del Web. Maestros un saludo cordial, Requiero pasar datos de Una BD a otra con un script pero me marca un error : Código PHP: <?php  require_once( ...
  #1 (permalink)  
Antiguo 23/09/2014, 16:05
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 11 meses
Puntos: 4
Select e Insert de Diferentes BD en el mismo Script

Maestros un saludo cordial,

Requiero pasar datos de Una BD a otra con un script pero me marca un error :

Código PHP:
<?php require_once('conexion1.php'); ?>
<?php 
require_once('conexion2.php'); ?>
<?php

//Hacemos el Select en la Tabla de la BD1
$resultado1 mysql_query("SELECT campo1, campo2, campo3 FROM tabla"$conexion1); 

while(
$row mysql_fetch_array($resultado1)) 
{
$campo1=$row["campo1"]; 
$campo2=$row["campo2"]; 
$campo3=$row["campo3"]; 


//Hacemos el Insert en la Tabla de la BD2
mysql_query("INSERT INTO tabla (campo1, campo2, campo3)
VALUES ('$campo1, '$campo2', '$campo3')"
$conexion2);

}
?>

El error que me marca es : "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource "

En la línea de
Código PHP:
while($row mysql_fetch_array($resultado1)) 

Gracias de antemano por la ayuda
__________________
EL LIMITE ES EL UNIVERSO
  #2 (permalink)  
Antiguo 23/09/2014, 17:23
 
Fecha de Ingreso: septiembre-2012
Mensajes: 53
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: Select e Insert de Diferentes BD en el mismo Script

Saludos
pueden intentar de la siguiente forma

entonces te lo hago sencillo
tenemos el archivo

conexion.php
Código PHP:
Ver original
  1. //declaramos variables para conectar via mysql la base de datos 1
  2. $db_server1 = 'localhost';
  3. $db_name1 = 'NombreBasedeDatos';
  4. $db_user1 = 'Usuario';
  5. $db_passwd1 = 'password';
  6.  
  7. // base de datos 2
  8.  
  9. $db_server2 = 'localhost';
  10. $db_name2 = 'NombreBasedeDatos';
  11. $db_user2 = 'Usuario2';
  12. $db_passwd2 = 'password2';
  13.  
  14. //conectamos a la base de datos 1
  15. conexion1 = mysql_connect($db_server1, $db_user1, $db_passwd1) OR die("Error al procesar lo solicitado");
  16.  
  17. //selecionamos nuestra base de datos 1
  18. mysql_select_db($db_name1, $conexion1) OR die("Error al procesar lo solicitado");
  19.  
  20.  
  21. //// segunda conexion
  22.  
  23. //conectamos a la base de datos
  24. conexion2 = mysql_connect($db_server2, $db_user2, $db_passwd2) OR die("Error al procesar lo solicitado");
  25.  
  26. //selecionamos nuestra base de datos
  27. mysql_select_db($db_name2, $conexion2) OR die("Error al procesar lo solicitado");


ahora en tu segundo archivo

Código PHP:
Ver original
  1. <?php
  2. require_once('conexion.php');
  3.  
  4. // aki podras hacer las consultas que quieras en la base de datos
  5.  
  6. ?>

mira si te funciona y me dices
  #3 (permalink)  
Antiguo 24/09/2014, 09:59
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Select e Insert de Diferentes BD en el mismo Script

Este problema es mas de Mysql que de php.

Por ejemplo, considera la siguiente consulta:
Código MySQL:
Ver original
  1. (
  2. SELECT bd1.tablabd1.codigo codigo, bd1.tablabd1.nombre nombre
  3. FROM bd1.tablabd1
  4. )
  5. (
  6. SELECT bd2.tablabd2.id_album codigo, bd2.tablabd2.nombre nombre
  7. FROM bd2.tablabd2
  8. )

Funciona correctamente, es decir, estas seleccionando datos de dos bases de datos diferentes, en la misma consulta sin problemas, por lo tanto, si lo que quieres es hacer una copia, podrias hacer algo asi:

Código MySQL:
Ver original
  1. INSERT INTO bd1.tablabd1 (codigo, nombre)  SELECT bd2.tablabd2.codigo codigo, bd2.tablabd2.nombre nombre
  2. FROM bd2.tablabd2

Lo cual guardara en la tabla de la base de datos 1 los datos obtenidos de la tabla de la base de datos 2.

No hace falta hacer nada con php salvo ejecutar la consulta.

Por otro lado, debes verificar que driver estas usando con php, si estas empleando mysqld podras tener varias conexiones y sentencias preparadas en simultaneo, pero si usas el driver de mysql viejo, solo podras tener una conexion activa.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #4 (permalink)  
Antiguo 24/09/2014, 14:07
Avatar de jpogsistem  
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 11 meses
Puntos: 4
Respuesta: Select e Insert de Diferentes BD en el mismo Script

Muchas Gracias a ambos. Las dos opciones son válidas.

Por lo que ya había implementado la solución de gajosu fué efectiva.

Saludos Cordiales.
__________________
EL LIMITE ES EL UNIVERSO

Etiquetas: bd, insert, mysql, select, 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 13:00.