Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/11/2010, 05:29
jacobin84
 
Fecha de Ingreso: noviembre-2010
Ubicación: España
Mensajes: 5
Antigüedad: 13 años, 5 meses
Puntos: 0
De acuerdo Respuesta: Ejecutar fichero sql desde php

Vaya tio...no se como agradecértelo, llevaba mas de 15 horas perdidas con el tema, ya estaba a empezando a desesperarme. Es script funciona de maravilla. Eso sí, he quitado los comentarios y tal, te lo dejo aqui como me está funcionando:

Código PHP:
$installDataBase mysqli_connect($dbhost$dbusuario$dbpassword$db);
    
            if (!
$installDataBase)
            {
                die(
'Connect Error ('.mysqli_connect_errno(). ') '.mysqli_connect_error());
            };
            
            
$backupSource =  file_get_contents($GB_ABSOLUTE_PATH.'/copiaSeg/'.$archivo);
         
            if(
mysqli_multi_query($installDataBase$backupSource)){
                do {
                    
/* Almacenar el primer conjunto de resultados */
                    
if ($result mysqli_store_result($installDataBase)) {
                        while (
$row mysqli_fetch_row($result)) {
                            
printf("%s\n"$row[0]);
                        }
                        
mysqli_free_result($result);
                    }
                    
/* Impresion del divisor */
                    
if (mysqli_more_results($installDataBase)) {
                        
printf(".");
                    }
                } while (
mysqli_next_result($installDataBase));
                echo 
"<h3>>> El proceso de restauración se completó con éxito.</h3>";
                
                
/* Cerramos la conexión */
                
mysqli_close($installDataBase); 
            } else echo 
"<h3>Error: </h3>".mysql_error(); 

El tema de que no te funcione ahora puede ser por varias cosas:

a) Si dejas esta linea comentada es posible que no se asocie el fichero leído a tu conexión mysqli.

if(mysqli_multi_query($installDataBase, $backupSource))

b) Las funciones mysqli están diseñadas solo para ciertas versiones de php y mysql: http://www.forosdelweb.com/f18/mysqli-mismo-que-mysql-428741/. Si cambiaste de servidor o de versión de php o mysql, o el servidor donde lo tienes subido cambió sus versiones es posible que te deje de funcionar.

c) A mi solo me importaba ciertas tablas, concretamente hasta una en la que aparecía una 'ñ'. Es posible que la codificación de caracteres no sea la adecuada y recientemente hayas insertado caracteres problemáticos.

De todos modos soy inexperto en programación, no se si te podrá servir.

¡MIL GRACIAS!

Última edición por jacobin84; 27/11/2010 a las 05:35