<?
//备份数据
$i = 0;
$crlf="/r/n";
$dbname="xgtqr";
global $dbconn;
$dbconn = mysql_connect("localhost","root","root");
$db = mysql_select_db("xgtqr",$dbconn);
$tables = mysql_list_tables("xgtqr",$dbconn);
$num_tables = @mysql_numrows($tables);
while($i < $num_tables)
{
$table = mysql_tablename($tables, $i);
print $crlf;
print $crlf;
echo get_table_def($dbname, $table, $crlf).";$crlf$crlf";
echo get_table_content($dbname, $table, $crlf);
$i++;
}
//定义抽取表结构与数据
function get_table_def($db, $table, $crlf)
{
global $drop;
$schema_create = "";
if(!empty($drop))
$schema_create .= "drop table if exists $table;$crlf";
$schema_create .= "create table $table ($crlf";
$result = mysql_db_query($db, "show fields from $table");
while($row = mysql_fetch_array($result))
{
$schema_create .= " $row[field] $row[type]";
if(isset($row["default"]) && (!empty($row["default"]) || $row["default"] == "0"))
$schema_create .= " default '$row[default]'";
if($row["null"] != "yes")
$schema_create .= " not null";
if($row["extra"] != "")
$schema_create .= " $row[extra]";
$schema_create .= ",$crlf";
}
$schema_create = ereg_replace(",".$crlf."$", "", $schema_create);
$result = mysql_db_query($db, "show keys from $table");
while($row = mysql_fetch_array($result))
{
$kname=$row['key_name'];
if(($kname != "primary") && ($row['non_unique'] == 0))
$kname="unique|$kname";
if(!isset($index[$kname]))
$index[$kname] = array();
$index[$kname][] = $row['column_name'];
}
while(list($x, $columns) = @each($index))
{
$schema_create .= ",$crlf";
if($x == "primary")
$schema_create .= " primary key (" . implode($columns, ", ") . ")";
elseif (substr($x,0,6) == "unique")
$schema_create .= " unique ".substr($x,7)." (" . implode($columns, ", ") . ")";
else
$schema_create .= " key $x (" . implode($columns, ", ") . ")";
}
$schema_create .= "$crlf)";
return (stripslashes($schema_create));
}
//保存数据表的值
function get_table_content($db, $table, $crlf)
{
$schema_create = "";
$temp = "";
$result = mysql_db_query($db, "select * from $table");
$i = 0;
while($row = mysql_fetch_row($result))
{
$schema_insert = "insert into $table values (";
for($j=0; $j<mysql_num_fields($result);$j++)
{
if(!isset($row[$j]))
$schema_insert .= " null,";
elseif($row[$j] != "")
$schema_insert .= " '".addslashes($row[$j])."',";
else
$schema_insert .= " '',";
}
$schema_insert = ereg_replace(",$", "", $schema_insert);
$schema_insert .= ");$crlf";
$temp = $temp.$schema_insert ;
$i++;
}
return $temp;
}
?>
联系qq:31443433