Fazendo backup do banco mysql via script php

Propaganda
Fazendo backup do banco mysql
via script php
PHP
O ideal seria usar o mysqldump
(http://www.mysql.com/doc/en/mysqldump.html) para isso.
Porém vamos à dica.
No exemplo abaixo ao final será criado um arquivo script.sql com o
codigo sql necessario para recriar as tabelas.
Se vc quiser que saia no browser, basta trocar os fwrite por echo.
<?php
$dbname = "seu database";
// coloque aqui seus parametros
mysql_connect("localhost","root","") or
die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());
$back = fopen("script.sql","w");
// Pega a lista de todas as tabelas
$res = mysql_list_tables($dbname) or
die(mysql_error());
while ($row = mysql_fetch_row($res)) {
$table = $row[0]; // cada uma das tabelas
$res2 = mysql_query("SHOW CREATE TABLE
$table");
while ( $lin = mysql_fetch_row($res2)){ // Para cada
tabela
fwrite($back,"-- Criando tabela : $table\n");
fwrite($back,"$lin[1]\n--Dump de Dados\n");
$res3 = mysql_query("SELECT * FROM $table");
while($r=mysql_fetch_row($res3)){ // Dump de
todos os dados das tabelas
$sql="INSERT INTO $table VALUES ('";
$sql .= implode("','",$r);
$sql .= "')\n";
fwrite($back,$sql);
}
}
}
fclose($back);
?>
Download