(cambie el nombre del sitio para mas seguridad por [somesite])
archivo PHP en el nuevo servidor (este pide al servidor viejo los datos y los guarda en una bd del nuevo)
Código PHP:
include('conection.php');
$link=conectarse();
$tabla=$_GET['tabla'];
$cmp=$_GET['cmp'];
if(!isset($_GET['cmp']) || !isset($_GET['tabla'])){
echo 'faltan parametros por url';
exit;
}
set_time_limit(300);
$a=file('http://[somesite].com/control/bd.php?tabla='.$tabla.'&cmp='.$cmp);
if(is_numeric(strpos('@',$a[0]))){
echo $a[0];
echo '<br>#18';
exit;
}
echo '<b>TOTAL: <font color=#ff0000>'.$a[0].'</font></b><p>';
$a=explode(' ',trim($a[1]));
echo '<div align=center>';
for($i=0;$i<10;$i++)
{
global $link,$tabla,$cmp;
set_time_limit(300);
$show='';
$b=file('http://[somesite].com/control/bd.php?id='.$a[$i].'&tabla='.$tabla.'&cmp='.$cmp);
$show=trim(implode("\n",$b));
mysql_query($show,$link) or die(mysql_error().'<p>'.$show);
echo '<img src="http://pirata777.com/phpBB2/images/bot/ok.jpg" border=0>';
}
echo '<h1>JOYA!</h1>';
PHP del servidor viejo
Código PHP:
<?
include('conection.php');
$link=conectarse();
if(!isset($_GET['cmp']) || !isset($_GET['tabla'])){
echo '@ERROR #1';
exit;
}
$tabla=$_GET['tabla'];
$g=$_GET['cmp'];
if(!isset($_GET['id']))
{
global $tabla,$g;
$hola='SELECT '.$g.' FROM phpbb_'.$tabla;
$sql=mysql_query($hola,$link) or die('@mysql =>'.mysql_error());
echo mysql_num_rows($sql);
echo "\n";
while($res=mysql_fetch_assoc($sql))
echo $res['post_id'].' ';
exit;
}
$sql2='SELECT * FROM phpbb_'.$tabla.' WHERE '.$g.'='.$_GET['id'];
$sql=mysql_query($sql2,$link);
if(!$sql){
echo '@ERROR <b>'.$sql2.'</b>';
exit;
}
$veo=mysql_fetch_assoc($sql);
$mem=count($veo)-1;
echo 'INSERT INTO phpbb_'.$tabla.' (';
$guia=0;
foreach($veo as $k => $veo_)
{
echo $k;
if($guia!=$mem)
echo ', ';
else
echo ') VALUES (';
$guia++;
}
$guia=0;
foreach($veo as $k => $veo_)
{
global $mem, $guia;
echo ' ';
$com=(is_numeric($veo[$k]))?'':'\'';
echo $com.$veo[$k].$com;
$proximo=($guia==$mem)?')':', ';
echo $proximo;
$guia++;
}
cuando ejecuto el php en el server nuevo llama el php del viejo este le devuelve los id de los campos de esta tabla que le pasamos el nombre por get junto con el campo que contiene los id por get tambien. luego con un for va recorriendo el array, en cada posicion llama al php viejo pidiendole los datos de ese id y esa tabla que se los pasamos por get. El viejo le devuelve el query asi:
Código PHP:
INSERT INTO tabla (campo1,campo2,campo3) VALUES (9,'dato','otro dato')
despues toma esto y hace el query y listo, eso por cada id.
La clave esta en lograr hacer el query sin tener que escapar nada del contenido que recibo del server viejo porque despues tendre que modificar el codigo que usa esa bd pero no debo hacerlo porque de alguna forma lo metieron en la base de datos asique asi como salio asi tiene que entrar sin problemas si es el mismo contenido sin cambios, encima en el php que inserta datos en la bd del foro usa comillas simples para los campos alfanumericos y aca me tira error cuando hay una comilla simple en el campo :?