Foros del Web » Programando para Internet » PHP »

Backup de BD -> YoDumpeo 1.0b

Estas en el tema de Backup de BD -> YoDumpeo 1.0b en el foro de PHP en Foros del Web. Estos ultimos dias se viene repitiendo bastante el tema de backups a bases de datos. Y como por lo general el ejemplo que esta en ...

  #1 (permalink)  
Antiguo 20/11/2003, 01:14
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 5 meses
Puntos: 8
Backup de BD -> YoDumpeo 1.0b

Estos ultimos dias se viene repitiendo bastante el tema de backups a bases de datos.
Y como por lo general el ejemplo que esta en las FAQs no funciona por restricciones del servidor, me decidi a hacer un pequeño script que cumpla esta funcion y que trabaje solamente con querys desde PHP y sin exec() o cosas por el estilo.

Me interesaria que lo prueban, y cuenten que resultado ebtuvieron. Particularmente en elguna tabla con campos Blob a ver que pasa.

Ahi va:
Código PHP:
<?php
/* Usuario para la conexion a Mysql. */
$usurio "root";
/* Password para la conexion a Mysql. */
$passwd "root";
 
/* Host para la conexion a Mysql. */
$host "localhost";
/* Base de Datos que se seleccionará. */
$bd "test";
/* Nombre del fichero que se descargará. */
$nombre "dump.txt";
/* Determina si la tabla será vaciada (si existe) cuando  restauremos la tabla. */            
$drop false;
/* 
* Array que contiene las tablas de la base de datos que seran resguardadas.
* Puede especificarse un valor false para resguardar todas las tablas
* de la base de datos especificada en  $bd.

* Ejs.:
* $tablas = false;
*    o
* $tablas = array("tabla1", "tabla2", "tablaetc");

*/
$tablas false;
/* 
* Tipo de compresion.
* Puede ser "gz", "bz2", o false (sin comprimir)
*/
$compresion false;

/* Conexion y eso*/
$conexion mysql_connect($host$usurio$passwd)
or die(
"No se conectar con el servidor MySQL: ".mysql_error());
mysql_select_db($bd$conexion)
or die(
"No se pudo seleccionar la Base de Datos: "mysql_error());


/* Se busca las tablas en la base de datos */
if ( empty($tablas) ) {
    
$consulta "SHOW TABLES FROM $bd;";
    
$respuesta mysql_query($consulta$conexion)
    or die(
"No se pudo ejecutar la consulta: ".mysql_error());
    while (
$fila mysql_fetch_array($respuestaMYSQL_NUM)) {
        
$tablas[] = $fila[0];
    }
}


/* Se crea la cabecera del archivo */
$info['dumpversion'] = "1.1b";
$info['fecha'] = date("d-m-Y");
$info['hora'] = date("h:m:s A");
$info['mysqlver'] = mysql_get_server_info();
$info['phpver'] = phpversion();
ob_start();
print_r($tablas);
$representacion ob_get_contents();
ob_end_clean ();
preg_match_all('/(\[\d+\] => .*)\n/'$representacion$matches);
$info['tablas'] = implode(";  "$matches[1]);
$dump = <<<EOT
# +===================================================================
# | YoDumpeo! 
{$info['dumpversion']}
# | por fran86 <[email protected]>
# |
# | Generado el 
{$info['fecha']} a las {$info['hora']} por el usurio '$usurio'
# | Servidor: 
{$_SERVER['HTTP_HOST']}
# | MySQL Version: 
{$info['mysqlver']}
# | PHP Version: 
{$info['phpver']}
# | Base de datos: '$bd'
# | Tablas: 
{$info['tablas']}
# |
# +-------------------------------------------------------------------

EOT;
foreach (
$tablas as $tabla) {
    
    
$drop_table_query "";
    
$create_table_query "";
    
$insert_into_query "";
    
    
/* Se halla el query que será capaz vaciar la tabla. */
    
if ($drop) {
        
$drop_table_query "DROP TABLE IF EXISTS `$tabla`;";
    } else {
        
$drop_table_query "# No especificado.";
    }

    
/* Se halla el query que será capaz de recrear la estructura de la tabla. */
    
$create_table_query "";
    
$consulta "SHOW CREATE TABLE $tabla;";
    
$respuesta mysql_query($consulta$conexion)
    or die(
"No se pudo ejecutar la consulta: ".mysql_error());
    while (
$fila mysql_fetch_array($respuestaMYSQL_NUM)) {
            
$create_table_query $fila[1].";";
    }
    
    
/* Se halla el query que será capaz de insertar los datos. */
    
$insert_into_query "";
    
$consulta "SELECT * FROM $tabla;";
    
$respuesta mysql_query($consulta$conexion)
    or die(
"No se pudo ejecutar la consulta: ".mysql_error());
    while (
$fila mysql_fetch_array($respuestaMYSQL_ASSOC)) {
            
$columnas array_keys($fila);
            foreach (
$columnas as $columna) {
                if ( 
gettype($fila[$columna]) == "NULL" ) {
                    
$values[] = "NULL";
                } else {
                    
$values[] = "'".mysql_real_escape_string($fila[$columna])."'";
                }
            }
            
$insert_into_query .= "INSERT INTO `$tabla` VALUES (".implode(", "$values).");\n";
            unset(
$values);
    }
    
$dump .= <<<EOT

# | Vaciado de tabla '$tabla'
# +------------------------------------->
$drop_table_query


# | Estructura de la tabla '$tabla'
# +------------------------------------->
$create_table_query


# | Carga de datos de la tabla '$tabla'
# +------------------------------------->
$insert_into_query

EOT;
}

/* Envio */
if ( !headers_sent() ) {
    
header("Pragma: no-cache");
    
header("Expires: 0");
    
header("Content-Transfer-Encoding: binary");
    switch (
$compresion) {
    case 
"gz":
        
header("Content-Disposition: attachment; filename=$nombre.gz");
        
header("Content-type: application/x-gzip");
        echo 
gzencode($dump9);
        break;
    case 
"bz2"
        
header("Content-Disposition: attachment; filename=$nombre.bz2");
        
header("Content-type: application/x-bzip2");
        echo 
bzcompress($dump9);
        break;
    default:
        
header("Content-Disposition: attachment; filename=$nombre");
        
header("Content-type: application/force-download");
        echo 
$dump;
    }
} else {
    echo 
"<b>ATENCION: Probablemente ha ocurrido un error</b><br />\n<pre>\n$dump\n</pre>";
}
?>
Espero que resulte util!

Saludos!

Última edición por Cluster; 05/07/2006 a las 15:27
  #2 (permalink)  
Antiguo 20/11/2003, 09:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 16 años
Puntos: 126
Muy bueno. Lo que más me gustó es el nombre xDDD.

Bueno, jeje fuera bromas. Podrías subirlo a las FAQ's como otra alternativa más para hacer "dumpeos xD".

No conocia la función headers_send() tomo nota.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 20/11/2003, 09:28
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 16 años
Puntos: 17
Genial (tanto la aplicación como el nombre)

Me será muy útil. Gracias
__________________
M a l d i t o F r i k i
  #4 (permalink)  
Antiguo 20/11/2003, 09:37
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 14 años, 6 meses
Puntos: 0
Interesante el método utilizado, pero hay alguna manera de exportarlo ya en .zip o .gz?

que haga el mysqldump y de una vez lo comprima.. imaginense un backup de 100 o más megas de una base.. a que horas baja eso


si tienen alguna sugerencia??





por mi parte yo utilizo este codigo para respaldar mi base con todas sus tablas a un archivo .sql


<?php


//fijo el date de hoy
$date_month = date('m');
$date_year = date('Y');
$date_day = date('d');
$Date = "$date_year-$date_month-$date_day";

//Archivo
$filename = "mydb_$Date.sql";

//Datos BD
$usuario = "user";
$passwd = "pass";
$bd = "mydb";

header("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$filename");

// Utilización del script para windows o unix. Activar las lineas depende de cada caso

//windows
//$executa = "c:\mysql\bin\mysqldump.exe -u $usuario --password=$passwd --opt $bd";
//system($executa, $resultado);

//para Unix
$executa = "mysqldump -u $usuario --password=$passwd --opt $bd";
system($executa, $resultado);


if ($resultado) { echo "<H1>Error ejecutando comando: $executa</H1>\n"; }

?>




Última edición por andinistas; 20/11/2003 a las 09:41
  #5 (permalink)  
Antiguo 20/11/2003, 09:58
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 7 meses
Puntos: 16
Hola,

No lo he probado, pero se parece a uno que hice yo, pero en lugar de generar un .sql, generaba un formato XML.

Y para devolver comprimido, simplemente pones la cabecera apropiada al tipo de fichero, y en lugar de:
Código PHP:
echo $dump
haces un
Código PHP:
echo gzencode($dump);  // o con los parametros adecuados 
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 22/11/2003, 19:37
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 5 meses
Puntos: 8
OK para que no se repita codigo, edite el mensaje.

Ahora soporta compresion GZ y BZ2. Y ademas puede hacer el Dump de una base de datos entera (sin necesidad de hacer tabla por tabla).

Jejejeje, gracias por los comentarios, y si... lo mas original fue el nombre!

andinistas, tu cofigo es muy similar al de las FAQs y precisamente hice el mio para evitar el uso de llamadas a programas externos como utiliza aquel (mysqldump.exe). Quizas en nuestras maquinas eso no es problema, pero el los servidores gratuitos (o pagos inclusive) esas funciones estan bloqueadas.

Si no se reportan fallas despues lo subo a las FAQs.

Saluditos!
  #7 (permalink)  
Antiguo 05/12/2004, 07:50
Avatar de canzoneta  
Fecha de Ingreso: diciembre-2003
Ubicación: Mendoza
Mensajes: 79
Antigüedad: 14 años, 1 mes
Puntos: 1
He estado probando el script y la verdad es que funciona sin ningún problema.

Ahora me interesaría poder restaurar la base de datos a travez de un formulario donde se pueda cargar el archivo que generó el script anterior. ¿Es posible hacer eso?
  #8 (permalink)  
Antiguo 05/12/2004, 09:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 16 años
Puntos: 126
Una vez que solventes el detalle de subir el archivo a tu servidor:

(o usa el buscador del foro por "Upload" o similar .. tienes ejemplos en las FAQ's también)

Lo que genera "YoDumpeo" son instrucciones SQL separadas por ; .. Mysql desde funciones de PHP sólo ejecuta una instrcucciòn a la vez (por lo menos si usan las funciones mysql_xxx() .. por què desde PHP 5 y sus mysqli_xxx() creo que ya se puede ejecutar vàrias sentencias SQL en un mismo xxxx_query()), por ende, tendrás que separar en principio todos tus instrucciones en "lineas" .. para eso simplemente puedes leer el archivo hacia un "string" y luego "partir" ese string en sus separadores ";" para obtener un array con sus sentencias SQL que podrás leer en un bucle para ir ejecutandolas una a una.

Un ejemplo simple (una vez que tengas el archivo en el servidor ..):

Código PHP:
<?

$sql 
implode(''file('dump.txt'));
$sql_sentencias=explode(';',$sql);

// conectas a tu BD .. selecionas tu BD ...
foreach ($sql_sentencias as $sentencia_sql){
mysql_query($sentencia_sql) or die ('Error ejecutando:'.$sentencia_sql.'<br>Mysql dice: '.mysql_error());
}
?>
Un saludo,

Última edición por Cluster; 05/12/2004 a las 09:41
  #9 (permalink)  
Antiguo 25/01/2005, 08:01
 
Fecha de Ingreso: septiembre-2004
Mensajes: 203
Antigüedad: 13 años, 3 meses
Puntos: 0
A mi me sale este error al prinicipio del fichero 'dump.txt' :

<br />
<b>Notice</b>: Use of undefined constant fecha - assumed 'fecha' in <b>d:\archivos de programa\easyphp1-7\www\test\backup.php</b> on line <b>67</b><br />
<br />
<b>Notice</b>: Use of undefined constant hora - assumed 'hora' in <b>d:\archivos de programa\easyphp1-7\www\test\backup.php</b> on line <b>67</b><br />
<br />
<b>Notice</b>: Use of undefined constant mysqlver - assumed 'mysqlver' in <b>d:\archivos de programa\easyphp1-7\www\test\backup.php</b> on line <b>69</b><br />
<br />
<b>Notice</b>: Use of undefined constant phpver - assumed 'phpver' in <b>d:\archivos de programa\easyphp1-7\www\test\backup.php</b> on line <b>70</b><br />
# +================================================= ==================
# | YoDumpeo! 1.1b
# | por fran86 <[email protected]>
# |
# | Generado el 25-01-2005 a las 03:01:21 PM por el usurio 'root'
# | Servidor: localhost
# | MySQL Version: 4.0.15-max-debug
# | PHP Version: 4.3.3
# | Base de datos: 'mysql'
# | Tablas: [0] => cafeteria; [1] => usuarios
# |
# +-------------------------------------------------------------------

otra cosa: si pongo la opción "gz" o "bz2" me devuelve un fichero que me dice que está corrupto o dañado ...
__________________
Impala
  #10 (permalink)  
Antiguo 25/01/2005, 10:09
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 5 meses
Puntos: 8
tenes razon. esos E_NOTICE se me pasaron. Lo que faltaba son las comillas que rodean el indice del array (porque si es una cadena TIENE que llevar comillas) Y YO ME OLVIDE. jejeje
Voy a aditar el post, y proba si se soluciona. (en este momento yo no puedo)

Por otro lado, otra forma de evitar que salten errores de ese tipo es poner al inicion de tu archivo
Código PHP:
error_reporting(E_ALL E_NOTICE); 
pero no es recomendable, ya que los E_NOTICE te avisan de "posible" errores, que pueden o no ser tales. En toda caso ayudan a seguir buenas practicas de programacion.

Saludos.
  #11 (permalink)  
Antiguo 25/01/2005, 14:22
 
Fecha de Ingreso: septiembre-2004
Mensajes: 203
Antigüedad: 13 años, 3 meses
Puntos: 0
para mi, funciona perfectamente ... muchas gracias !
__________________
Impala
  #12 (permalink)  
Antiguo 26/01/2005, 08:38
Avatar de X3mdesign  
Fecha de Ingreso: octubre-2003
Ubicación: Madrid
Mensajes: 640
Antigüedad: 14 años, 3 meses
Puntos: 2
hola, yo había hecho un sistema para guardar la BD pero sin las estructuras de las tablas, un poco más arcaico, jeje... al ver tu script, le he añadido lo siguiente:

Código PHP:
$nombre_fichero=mostrarFecha(mostrarHoy())."-backUp";
$compresion="gz";

if (!
headers_sent() ) { 
    
header("Pragma: no-cache"); 
    
header("Expires: 0"); 
    
header("Content-Transfer-Encoding: binary"); 
    switch (
$compresion) { 
    case 
"gz"
        
header("Content-Disposition: attachment; filename=$nombre_fichero.gz");
        
header("Content-type: application/x-gzip"); 
        echo 
gzencode($sql9); 
        break; 
    case 
"bz2"
        
header("Content-Disposition: attachment; filename=$nombre_fichero.bz2");
        
header("Content-type: application/x-bzip2"); 
        echo 
bzcompress($sql9); 
        break; 
    default: 
        
header("Content-Disposition: attachment; filename=$nombre_fichero");
        
header("Content-type: application/force-download");
        echo 
$sql
    } 
} else { 
    echo 
"<b>ATENCION: Probablemente ha ocurrido un error</b><br />\n<pre>\n$sql\n</pre>"

si ha $compresion le doy valor "gz" o "bz2" no me lo comprime.. me hace un archivo de 1Kb y me dice que el archivo tiene un formato desconocio o está dañado... sin embargo, si no le doy valor, me descarga correctamente el archivo...

qué puede ser?? bueno, muchas gracias!!
__________________
Nippon-Tour, tu portal sobre Japón
¿Te gusta el manga, haces tus propios dibujos? Visita FanArt de Nippon-Tour
  #13 (permalink)  
Antiguo 01/02/2005, 03:08
 
Fecha de Ingreso: enero-2005
Mensajes: 1
Antigüedad: 13 años
Puntos: 0
Problema con el script

He intentado probar el script y me da este error:
Cita:
Parse error: syntax error, unexpected T_SL in c:\AppServ\*****\backup.php on line 62
A que se debe este error?. Utilizo APPSERV y solo tengo una aplicación en localhost.
  #14 (permalink)  
Antiguo 03/02/2005, 13:59
 
Fecha de Ingreso: octubre-2004
Mensajes: 31
Antigüedad: 13 años, 2 meses
Puntos: 0
Si en lugar de descargar el archivo se quisiera enviar via FTP a otro servidor, ¿como se tendria que modificar el codigo de envio?
  #15 (permalink)  
Antiguo 04/02/2005, 09:57
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 5 meses
Puntos: 8
$dump es la variable que tiene el SQL de backup.
Habria que crear un archivo temporal... podria hacerse con tmpfile() en conjunto a fopen() y poner dentro dicha variable (fwrite()).
Y despues abres la conexion ftp con la funciones que PHP tiene para eso...
http://ar2.php.net/ftp

Saludos
  #16 (permalink)  
Antiguo 04/02/2005, 13:47
 
Fecha de Ingreso: octubre-2004
Ubicación: En algún lugar de la República Oriental del Uruguay
Mensajes: 366
Antigüedad: 13 años, 2 meses
Puntos: 0
que diferencia hay en usar tu script con hacerlo por medio de phpmyadmin (el backup)?

saludos ratamaster
  #17 (permalink)  
Antiguo 05/02/2005, 05:05
 
Fecha de Ingreso: octubre-2004
Mensajes: 31
Antigüedad: 13 años, 2 meses
Puntos: 0
Pues ahora que me fijjo, ami no ma hace bien la cabecera del dump.txt. Me sale todo en una sola linea y luego me da un error al restaurar la BD. No se que fallará, porque lo que son los datos y la estructura de la Bd los guarda bien, pero no la cabecera.
  #18 (permalink)  
Antiguo 11/08/2005, 06:30
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 14 años, 4 meses
Puntos: 4
Pregunta

Pues a mi me da un error en la linea 62:
Código PHP:
/* Se crea la cabecera del archivo */ 
$info['dumpversion'] = "1.1b"
$info['fecha'] = date("d-m-Y"); 
$info['hora'] = date("h:m:s A"); 
$info['mysqlver'] = mysql_get_server_info(); 
$info['phpver'] = phpversion(); 
ob_start(); 
print_r($tablas); 
$representacion ob_get_contents(); 
ob_end_clean (); 
preg_match_all('/(\[\d+\] => .*)\n/'$representacion$matches); 
$info['tablas'] = implode(";  "$matches[1]); 
$dump = <<<EOT //AQUI ME DA ERROR DE SINTAXIS
# +=================================================  ================== 
# | YoDumpeo! {$info['dumpversion']} 
# | por fran86 <[email protected]
# | 
Me da error de sintaxis en la linea de: $dump=<<<EOT

¿alguien me puede indicar como solucionarlo?

Gracias.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #19 (permalink)  
Antiguo 11/08/2005, 07:46
 
Fecha de Ingreso: junio-2005
Mensajes: 111
Antigüedad: 12 años, 7 meses
Puntos: 0
fran86: Hay alguna manera de exportar la base de datos a XML haciendo uso de tu script ?

de antemano muchas gracias.
Buen trabajo!
  #20 (permalink)  
Antiguo 11/08/2005, 08:16
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 2 meses
Puntos: 11
Un punto que observaba leyendo los mensajes se referia a como cargar los datos al servidor desde un script. Bueno creo que es muy simple, se hace un formulario para subir el archivo (descomprimido o se descomprime), se guarda en un archivo o en una base de datos el lugar en donde quedó el archivo (ruta y nombre del archivo) y luego se realiza un query desde php usando el comando de mysql: source ruta_al archivo/archivo.sql
Como ven esto resuelve el caso de archivos .sql
  #21 (permalink)  
Antiguo 18/08/2005, 01:47
 
Fecha de Ingreso: junio-2005
Mensajes: 111
Antigüedad: 12 años, 7 meses
Puntos: 0
Cita:
Iniciado por _Lobo_
fran86: Hay alguna manera de exportar la base de datos a XML haciendo uso de tu script ?

de antemano muchas gracias.
Buen trabajo!
Alguna novedad? es posible hacer esto ?
  #22 (permalink)  
Antiguo 18/08/2005, 11:08
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 5 meses
Puntos: 8
Cita:
fran86: Hay alguna manera de exportar la base de datos a XML haciendo uso de tu script ?
Hola, perdon por la tardanza... bueno en proncipio no. El script esta hecho exclusivamente para trabajar con tablas Mysql y crear el SQL necesario para restaurarlas. Quizas puedas usar "algo". Pero no es lo mas.

Quizas por PEAR (pear.php.net) encuentres algo "casi oficial". Si no por phpclasess.org.

Saludos
  #23 (permalink)  
Antiguo 18/08/2005, 11:19
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 5 meses
Puntos: 8
Cita:
Me da error de sintaxis en la linea de: $dump=<<<EOT

¿alguien me puede indicar como solucionarlo?

Gracias.
Hola, es raro... porque se ve que a otras personas les andaba bien.
Una forma de remplazar esto es
Código PHP:
// en donde esta $dump=<<<EOT
$dump"        
// xxx
//xxxxx
"
;     //  en donde esta el EOT; 
No vendra de arriba el problema? en el mensaje de error que dice... "error de sintaxis... unexpected ¿que?"

Info adicional, para ver si encuantras algo que yo no:
http://ar.php.net/manual/en/language...syntax.heredoc

Saludos y suerte.
  #24 (permalink)  
Antiguo 18/08/2005, 11:30
Avatar de elangelcaido  
Fecha de Ingreso: septiembre-2003
Ubicación: Oviedo
Mensajes: 1.068
Antigüedad: 14 años, 4 meses
Puntos: 4
De acuerdo

Lo solucione con lo que me comentaste.

Gracias.
__________________
Ta Luego! Al final sólo puede quedar uno...
________
lukos.org
  #25 (permalink)  
Antiguo 01/12/2005, 17:21
 
Fecha de Ingreso: junio-2004
Mensajes: 8
Antigüedad: 13 años, 7 meses
Puntos: 0
Pregunta Problema con el script

Hola amigo Frank86 y todos los participantes.

El script me funciona pero cuando voy a hacer la restauración, si los datos contienen algun caracter como acento, #, o punto y coma entre otros me dá un error que me dice que chequee la version de mysql y tal...

Que será?

gracias de antemano y felicitaciones.
  #26 (permalink)  
Antiguo 04/12/2005, 14:56
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 5 meses
Puntos: 8
Ahora le agregue mysql_real_escape_string() a la parte que vuelva los valores. Veremos si eso o lo soluciona.

Saludos
  #27 (permalink)  
Antiguo 05/07/2006, 13:09
Avatar de Fociños  
Fecha de Ingreso: marzo-2004
Ubicación: A Coruña
Mensajes: 587
Antigüedad: 13 años, 9 meses
Puntos: 0
He probado el código y me da error en la linea 110.

$values[] = "'".mysql_real_escape_string$fila[$columna])."'";
  #28 (permalink)  
Antiguo 05/07/2006, 15:26
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 16 años
Puntos: 126
Cita:
Iniciado por Fociños
He probado el código y me da error en la linea 110.

$values[] = "'".mysql_real_escape_string$fila[$columna])."'";
Al código original le falta un (, pues mysql_real_escape_string() es una función de PHP:

Código PHP:
$values[] = "'".mysql_real_escape_string($fila[$columna])."'"
                } 
** Modifiqué el código original para añadir dicho ( que faltaba.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #29 (permalink)  
Antiguo 05/07/2006, 17:00
Avatar de Fociños  
Fecha de Ingreso: marzo-2004
Ubicación: A Coruña
Mensajes: 587
Antigüedad: 13 años, 9 meses
Puntos: 0
Muchas gracias Cluster.

¿Cómo podría hacer para guardar la copia en el directorio donde está el archivo con el código?
  #30 (permalink)  
Antiguo 06/07/2006, 07:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 16 años
Puntos: 126
Según parece en la variable $dump tienes el SQL generado .. ese será el que tendrás que volcar a un archivo usando las típicas funciones fopen() .. fwrite() y equivalente, además de deshabilitar o incluir esa opción: "hacia archivo" o "a descargar" ... (para que no generes el archivo y tambien lo descargues).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 09:18.