Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/08/2005, 12:40
Avatar de claudiovega
claudiovega
 
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Tengo este script para respaldar una bd, tendrá deficiencias pero me sirve:

Código PHP:
<?php
   
//aqui falta configurar la conexion a la bd
   
$con_base=mysql_connect("servidor","usuario","password");

   
$tablas=mysql_query("show tables from base;",$con_base);
   
$texto ="create database if not exists base;\n";
   
$texto.="use base;\n";
   while(
$tabla=mysql_fetch_array($tablas))
   {
      
$mitabla=$tabla[0];
      
$texto.="drop table if exists base.".$mitabla.";\n";
      
$creates=mysql_query("show create table base.$mitabla;",$con_base);
      while(
$create=mysql_fetch_array($creates))
      {
         
$texto.=$create[1].";\n";
         
$datos=mysql_query("select * from base.$mitabla;",$con_base);
         
$campos=mysql_num_fields($datos);
         
$regs=mysql_num_rows($datos);
         for(
$i=0;$i<$regs;$i++)
         {
            
$inserta="insert into base.$mitabla(";
            for(
$j=0;$j<$campos;$j++)
            {
               
$nombre=mysql_field_name($datos,$j);
               
$inserta.="$nombre,";
            }
            
$inserta=substr($inserta,0,strlen($inserta)-1).") values(";
            for(
$j=0;$j<$campos;$j++)
            {
               
$tipo=mysql_field_type($datos,$j);
               
$valor=mysql_result($datos,$i,$j);
               switch(
$tipo)
               {
                  case 
"string":
                  case 
"date":
                  case 
"time":
                     
$valor="'$valor'";
                     break;
               }
               
$inserta.="$valor,";
            }
            
$inserta=substr($inserta,0,strlen($inserta)-1).");";
            
$texto.=$inserta."\n";
         }
      }
      
$texto.="\n";
   }
   
$archivo"base-".date("d-n-Y").".txt";
   
header("Content-disposition: attachment;filename=$archivo");
   
header("Content-Type: text/plain");
   echo 
$texto;
?>
Si no se entiende lo explico.