Ver Mensaje Individual
  #8 (permalink)  
Antiguo 31/03/2003, 09:49
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
mdk ..

Usando el script que pusistes al principio (con las cabeceras HTTP para que sea enviado al navegador) Y usanlo mysqldump con los parámetros que puse a mi me funciona .. (en windows).

Lo que tienes que asegurarte bien es la ruta de donde se encuentre tu mysqldump y por supuesto que la Base de datos que ahí indicas y los datos de conexión a esta sean correctos.

Lo otro que puedes usar es ..
Quitando las cabeceras (header ..) y usando:

$executa = "c:\apache\mysql\bin\mysqldump.exe -u $usuario --password=$passwd --opt $bd > $fichero";

Con el > $fichero te va a generar el fichero.sql en el directorio del servidor donde ejecutes tu .php ... y luego tendras q bajartelo tu a mano (via FTP) o poner un link al fichero.sql para bajaterlo con el navegador "manualmente" ..

Un ejemplo de lo que genera (es una Base de datos con solo una tabla):

Cita:
-- MySQL dump 8.21
--
-- Host: localhost Database: usuarios
---------------------------------------------------------
-- Server version 3.23.49

--
-- Table structure for table 'autentificator'
--

DROP TABLE IF EXISTS autentificator;
CREATE TABLE autentificator (
ID smallint(6) unsigned NOT NULL auto_increment,
usuario tinytext NOT NULL,
pass tinytext NOT NULL,
nivel_acceso smallint(4) unsigned NOT NULL default '0',
PRIMARY KEY (ID),
UNIQUE KEY ID (ID)
) TYPE=MyISAM PACK_KEYS=1;

/*!40000 ALTER TABLE autentificator DISABLE KEYS */;

--
-- Dumping data for table 'autentificator'
--


LOCK TABLES autentificator WRITE;
INSERT INTO autentificator VALUES (1,'Admin','21232f297a57a5a743894a0e4a801fc3',0);

/*!40000 ALTER TABLE autentificator ENABLE KEYS */;
UNLOCK TABLES;
Un saludo,

pd: Herminio Heredia San .. Si al mysqldump lo le indicas salida > archivo.tal .. lo "tira" a "consola" (al buffer de salida) .. por eso se usan esas cabeceras HTTP para darlo al navegador para descarga .. Todo eso porqué se ejecuta via system() que ejecuta el comando y lo entrega al buffer de salida ..Si lo ejecutarmos con exec() .. tendríamos el resultado (la ejecución) en un array .. ahí si que debería usarse el file() o un "header -> echo .." para dejarlo en el servidor o entregarlo a descargar (sin usar > fichero.tal en la propia sentencia mysqldump ..)

__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 31/03/2003 a las 09:53