ホームページ >php教程 >php手册 >PHP ページを使用して MySQL データベースのデータ テーブルをバックアップおよび復元する方法

PHP ページを使用して MySQL データベースのデータ テーブルをバックアップおよび復元する方法

WBOY
WBOYオリジナル
2016-06-21 09:07:09941ブラウズ

mysql|バックアップ|復元|データ|データベース|ページ

       
//备份データベース
$i = 0;  
$crlf="rn";  
$dbname="xgtqr";  
グローバル $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[フィールド] $row[タイプ]";

if(isset($row["Default"]) && (!empty($row["Default"]) || $row["デフォルト"] == "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 ))
{
$ 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 = ereg_replace(",$", "", $schema_insert);
$schema_insert .= " );$crlf";  
$temp = $temp.$schema_insert ;  
$i++;  
}
return $temp;  
}
?>  
联系QQ:31443433



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。