ホームページ  >  記事  >  バックエンド開発  >  MySQL データベースを .sql ファイル インスタンスとしてエクスポートする PHP 実装 (PHPMyadmin エクスポート関数の模倣)_PHP チュートリアル

MySQL データベースを .sql ファイル インスタンスとしてエクスポートする PHP 実装 (PHPMyadmin エクスポート関数の模倣)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:30:02956ブラウズ

PHP コードを使用してデータベース バックアップを実装すると、Web サイト管理が非常に便利になり、バックグラウンド操作を直接開始してデータベース バックアップを完了できます。

主要テクノロジー:

1. まず、関数 mysql_list_tables() を使用してデータベース内のテーブルを取得する必要があります。その後、取得したすべてのテーブル名を配列に保存できます。
2. show create table テーブル名でテーブル構造を取得できます。
3. テーブル名から * を選択してすべてのレコードを取り出し、ループを使用してそれらを insert into... ステートメントに結合します。

実装コード:

コードをコピー コードは次のとおりです:


header("Content-type:text/html;charset=utf-8");

//設定情報
$cfg_dbhost = 'localhost';
$cfg_dbuser = 'root';
$cfg_dbpwd = 'root';
//データベースにリンク
$link = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);
mysql_select_db($cfg_dbname);
//エンコーディングを選択

mysql_query("set names ".$cfg_db_ language);

//Inデータベース どのようなテーブルがあるのか​​
$tables = mysql_list_tables($cfg_dbname);
//これらのテーブルを配列に記録します
$tabList = array();
while($row = mysql_fetch_row($tables)){
$tabList[] = $row[0];
}

echo "実行中です。しばらくお待ちください...
";
$info = "-- -------------- --------------rn";
$info .= "-- Date:".date("Y-m-d H:i:s",time())."rn";
$info .= "-- このプログラムはテストと学習のみに使用され、大量のデータの処理には適していません";
$info .= "-- ---------------- - -----------rnrn";
file_put_contents($to_file_name,$info,FILE_APPEND);

//各テーブルのテーブル構造をファイルにエクスポートします
foreach($tabList as $val){
$sql = "show create table ".$val;
$res = mysql_query($sql,$link); $row = mysql_fetch_array($res);

$info = "----------------------------rn";
$info 。 = "-- `".$val."`rn";
$info のテーブル構造 .= "-- ----------------------- - ----rn";
$info .= "存在する場合はテーブルを削除 `".$val."`;rn";
$sqlStr = $info.$row[1].";rnrn";
/ /ファイルに追加
file_put_contents($to_file_name,$sqlStr,FILE_APPEND);
//リソースを解放します
mysql_free_result($res);
}

//各テーブルのデータをファイルにエクスポートします
foreach($tabList as $val){
$sql = "select * from ".$val;
$res = mysql_query($sql,$link);

/ /テーブルにデータがない場合は、次のテーブルに進みます

if(mysql_num_rows($res) //
$info = "-- ----------- -- ---------------rn";
$info .= "-- `".$val."`rn";
$info .= "-- - のレコード-- ------------------------rn";
file_put_contents($to_file_name,$info,FILE_APPEND);
//データを読み取ります
while($ row = mysql_fetch_row($res)){
$sqlStr = "INSERT INTO `".$val."` VALUES (";
foreach($row as $zd){
$sqlStr .= "'".$zd. "', ";
}
//最後のカンマとスペースを削除します
$sqlStr = substr($sqlStr,0,strlen($sqlStr)-2);
$sqlStr .= ");rn";
file_put_contents( $to_file_name,$sqlStr,FILE_APPEND);
}
//リソースを解放します
mysql_free_result($res);
file_put_contents($to_file_name,"rn",FILE_APPEND);
}

echo "OK!";

?& GT;




http://www.bkjia.com/PHPjc/768131.htmlwww.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/768131.html技術記事 PHP コードを使用してデータベース バックアップを実装すると、Web サイト管理が非常に便利になり、バックグラウンド操作を直接開始してデータベース バックアップを完了できます。 主要なテクノロジー: 1. まずは...を入手してください
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。