InicioInfoRespalda tu Base de Datos MYSQL con PHP

Respalda tu Base de Datos MYSQL con PHP

Info12/30/2010
Muy buenas, viendo un artículo en otro lugar (dejaré el link en la fuente), me encontré con el código que les pondré, básicamente es un script con una función que respalda una base de datos, bastante útil, para hacerlo vía código.



/* backup the db OR just a table */
function backup_tables($host,$user,$pass,$name,$tables = '*')
{
$link = mysql_connect($host,$user,$pass);
mysql_select_db($name,$link);
//get all of the tables
if($tables == '*')
{
$tables = array();
$result = mysql_query('SHOW TABLES');
while($row = mysql_fetch_row($result))
{
$tables[] = $row[0];
}
}
else
{
$tables = is_array($tables) ? $tables : explode(',',$tables);
}
//cycle through
foreach($tables as $table)
{
$result = mysql_query('SELECT * FROM '.$table);
$num_fields = mysql_num_fields($result);
$return.= 'DROP TABLE '.$table.';';
$row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
$return.= "nn".$row2[1].";nn";
for ($i = 0; $i < $num_fields; $i++) 
{
while($row = mysql_fetch_row($result))
{
$return.= 'INSERT INTO '.$table.' VALUES(';
for($j=0; $j<$num_fields; $j++) 
{
$row[$j] = addslashes($row[$j]);
$row[$j] = ereg_replace("n","n",$row[$j]);
if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
if ($j<($num_fields-1)) { $return.= ','; }
}
$return.= " ) ; n";  //Quitar espacios en blanco
}
}
$return.="nnn";
}
//save file
$handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
fwrite($handle,$return);
fclose($handle);
}



Los que no saben para qué es o qué es MySQL o peor aún no saben qué es PHP por favor abstenerse de comentar.

Si te resultó útil, te pido que comentés.



aaa por cierto, la fuente
Gracias a Jesús Conde por el Dato
Datos archivados del Taringa! original
30puntos
4,452visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

D
Daniel03🇦🇷
Usuario
Puntos0
Posts78
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.