Foros del Web » Programando para Internet » PHP »

Error en script al copiar tablas

Estas en el tema de Error en script al copiar tablas en el foro de PHP en Foros del Web. Intengo copiar todas las tablas de una db, en una tabla llamada "tablas" están los nombres de todas las tablas, y con un while copio ...
  #1 (permalink)  
Antiguo 04/04/2011, 06:34
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Error en script al copiar tablas

Intengo copiar todas las tablas de una db, en una tabla llamada "tablas" están los nombres de todas las tablas, y con un while copio los datos de cada tabla y lo meto en un sql. El problema es que no guarda bien el sql que corresponde a cada archivo y al final termina juntando la db entera.

Código PHP:
<?php
include("config.php");

$tablas "SELECT * FROM tablas";
$tablas mysql_query($tablas) or mysql_error();

while(
$tabla=mysql_fetch_array($tablas)){

$consultamysql_query("SELECT * FROM ".$tabla['name']."") or mysql_error();

while (
$row=mysql_fetch_row($consulta)) {
@
$contenido.="INSERT INTO ".$tabla['name']." VALUES(";
for(
$i=0$i<count($row); $i++)
      
$contenido.="'".$row[$i]."'";
      if(
$i!=count($row)) $contenido.=", ";
$contenido.=")\n";

$fecha date("d-m-Y",time());
mkdir("backups/".$fecha.""0777);
$arch"backups/".$fecha."/".$tabla['name'].".sql";
$gestfopen($arch"w");
fwrite($gest$contenido);
fclose($gest);
}
}
$fecha date("d-m-Y",time());
copy("backups/database.sql","backups/".$fecha."/database.sql");
echo 
"Copiado";
?>
  #2 (permalink)  
Antiguo 04/04/2011, 08:26
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 5 meses
Puntos: 88
Respuesta: Error en script al copiar tablas

al parecer tu problema radica en el for, intenta así
Código PHP:
Ver original
  1. for($i=0; $i<count($row); $i++) {
  2.       $contenido.="'".$row[$i]."'";
  3.       if($i!=count($row)) $contenido.=", "; }
  4. $contenido.=")\n";
lo que pasaes que cuando usas un for, while, do o if y no colocas las llaves { } solo toma la primera linea como contenido y las demás las deja fuera.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 04/04/2011, 08:56
Avatar de ArkangelGammar  
Fecha de Ingreso: enero-2011
Ubicación: <?php $persona->ubicacion('ArkangelGammar'); ?>
Mensajes: 179
Antigüedad: 13 años, 10 meses
Puntos: 19
Respuesta: Error en script al copiar tablas

No es mas facil utilizar el mysqldump?

mysqldump -p --user usuario basededatos tabla > backuptabla.sql
__________________
"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.

Etiquetas: tablas
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 21:41.