php 备份mysql数据库语句_如何用PHP的页面备份、恢复Mysql数据库中的数据表

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 < $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 {

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

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值