mysql|备份|恢复|数据|数据库|页面
//备份数据
$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 {
$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 {
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