Foros del Web » Programando para Internet » PHP »

Importar archivo.sql por php

Estas en el tema de Importar archivo.sql por php en el foro de PHP en Foros del Web. Hola, tengo una situación y espero me puedan apoyar en aclarar un poco. Tengo un archivo .sql que exporte desde phpmyadmin en cual tiene la ...
  #1 (permalink)  
Antiguo 30/12/2018, 01:28
 
Fecha de Ingreso: octubre-2013
Mensajes: 76
Antigüedad: 5 años, 5 meses
Puntos: 0
Pregunta Importar archivo.sql por php

Hola, tengo una situación y espero me puedan apoyar en aclarar un poco.
Tengo un archivo .sql que exporte desde phpmyadmin en cual tiene la estructura de varias tablas.
Lo que deseo es importar ese mismo archivo pero en diferente db.
Intente con lo siguiente pero no me arroja ningún error y mucho menos carga el archivo.

Código PHP:
$db_host_="localhost"
$db_usuario="$DBU";
$db_password="$DBP"
$db_nombre="$DB"
$conexion = @mysql_connect($db_host$db_usuario$db_password) or die(mysql_error()); 
$db = @mysql_select_db($db_nombre$conexion) or die(mysql_error()); 
                                    
$fin mysql_query (file_get_contents('estructura.sql')) or die(mysql_error());  
$result mysql_query$fin ) or die( "Error al ejecutar $query, error: " mysql_error() ); 
Envio agradecimiento anticipado por su ayuda.
  #2 (permalink)  
Antiguo 30/12/2018, 12:48
 
Fecha de Ingreso: octubre-2013
Mensajes: 76
Antigüedad: 5 años, 5 meses
Puntos: 0
Respuesta: Importar archivo.sql por php

Para futuras referencias, mi situación la resolvi de la siguiente manera:
<?php
$db_host="localhost";
$db_usuario="$DBU";
$db_password="$DBP";
$db_nombre="$DB";
$conexion = @mysql_connect($db_host, $db_usuario, $db_password) or die(mysql_error());
$db = @mysql_select_db($db_nombre, $conexion) or die(mysql_error());

$conx = mysqli_connect("$db_host", "$db_usuario", "$db_password", "$db_nombre") or die('Error al conectar');
$fichero = 'archivo.sql'; // Ruta al fichero que vas a cargar.
// Linea donde vamos montando la sentencia actual
$temp = '';
// Flag para controlar los comentarios multi-linea
$comentario_multilinea = false;
// Leemos el fichero SQL al completo
$lineas = file($fichero);
// Procesamos el fichero linea a linea
foreach ($lineas as $linea) {
$linea = trim($linea); // Quitamos espacios/tabuladores por delante y por detrás
// Si es una linea en blanco o tiene un comentario nos la saltamos
if ( (substr($linea, 0, 2) == '--') or (substr($linea, 0, 1) == '#') or ($linea == '') )
continue;
// Saltamos los comentarios multilinea /* texto */ Se detecta cuando empiezan y cuando acaban mediante estos dos ifs
if ( substr($linea, 0, 2) == '/*' ) $comentario_multilinea = true;
if ( $comentario_multilinea ) {
if ( (substr($linea, -2, 2) == '*/') or (substr($linea, -3, 3) == '*/;') ) $comentario_multilinea = false;
continue;
}
// Añadimos la linea actual a la sentencia en la que estamos trabajando
$temp .= $linea;
// Si la linea acaba en ; hemos encontrado el final de la sentencia
if (substr($linea, -1, 1) == ';') {
// Ejecutamos la consulta
mysqli_query($conx, $temp) or print('<strong>Error en la consulta</strong> \'' . $temp . '\' - ' . mysqli_error($conx) . "<br /><br />\n");
// Limpiamos sentencia temporal
$temp = '';
}
}
?>



La zona horaria es GMT -6. Ahora son las 13:14.