简单地备份
优化用optimize就可以了$sql = "";
foreach($tables as $table)
{
$sql .= "drop table if exists $table;\n";//请注意,备份是生成sql语句
$query = "Show Create table $table";
$db->ExecQuery($query);
$table = $db->FetchArray();
$sql .= $table[1].";\n\n";
}
foreach($tables as $table)
{
$query = "select * from $table";
$db->ExecQuery($query);
$numRows = $db->NumRows();
$numFields = $db->NumFields();
for($i = 0;$i<$numRows;$i++)
{
$tmpInfo = $db->FetchArray();
$comma = "";
$sql .= "INSERT INTO $table values (";
for($j=0;$j<$numFields;$j++)
{
$sql .=  $comma."'".mysql_escape_string($tmpInfo[$j])."'";
$comma = ",";
}
$sql .= ");\n";
}
}
//根据IE类型的头
header('Content-Encodeing:none');
header('Content-type: '.(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')?'application/octetstream':'application/octet-stream'));
header('Content-Disposition: '.(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')?'inline' : 'attachment;').'filename="datebak_'.date('y-m-d').'.sql"');
header('Content-Length: '.strlen($sql));
header('pragma:no-cache');
header('Expires:0');
echo $sql;