Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/03/2009, 03:49
Avatar de Kamae
Kamae
 
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: Se puede exportar base de datos con php?

Buenas

Yo también usé esta forma de hacer backups (un tanto cutre pero efectiva)

Para los inserts es muy fácil:

Creas un archivo que empiece por "INSERT INTO tabla VALUES ", luego haces un bucle para rellenar con la información de cada línea (separado por comillas simples si son strings o sin ellas si son números), y al final le añades un ";" y listo. Algo así:

Código PHP:
$query=mysql_query("SELECT * FROM tabla");
$txtBack="INSERT INTO tabla VALUES ";
while(
$datos=mysql_fetch_row($query)){
     
$id=$datos[0];                 // Es un número
     
$nombre=$datos[1];      // Es un string
     
$edad=$datos[2];           // Es un número

     
$txtBack.="(".$id.", '".$nombre."', ".$edad."),"// Fíjate que $nombre va entre ' simples porque es string
}
$txtBack[strlen($txtBack)-1]=";" // Esto nos cambia el último caracter, que es una coma, y la cambia por el punto y coma final
$diaActual=date("Y.m.d");
$horaActual=date("h.i");
$file="/home/Backups/Tabla".$diaActual."-".$horaActual.".txt"// Ruta y nombre del fichero
$fp=fopen($file,"w");
fwrite($fp$txtBack);
fclose($fp); 
Esto generaría un fichero de nombre Tabla2009.03.10-10:40.txt con todos los INSERTs de tu tabla, algo así:

Código PHP:
INSERT INTO tabla VALUES 
(1'Pau'20),
(
2'Paula'18),
(
3'Meritxell'17); 
Para los CREATE la verdad.. puedes hacerlo manualmente puesto que no acostumbras a cambiarlos. Pero si quieres míratelo con las sentencias SHOW TABLES; (muestra las que existen), DESC nombre_tabla; (te dice los campos y su tipo), etc.