<?php
$host="localhost";
$user="root";
$password="root";
$dbname="test";
mysql_connect($host,$user,$password);
mysql_select_db($dbname);
$mysql= "set charset utf8;\r\n";#for mysql<=5.0
$q1=mysql_query("show tables");
while($t=mysql_fetch_array($q1)){
$table=$t[0];
$q2=mysql_query("show create table `$table`");
$sql=mysql_fetch_array($q2);
$mysql.=$sql['Create Table'].";\r\n\r\n";#DDL
$q3=mysql_query("select * from `$table`");
while($data=mysql_fetch_assoc($q3)){
$keys=array_keys($data);
$keys=array_map('addslashes',$keys);
$keys=join('`,`',$keys);
$keys="`".$keys."`";
$vals=array_values($data);
$vals=array_map('addslashes',$vals);
$vals=join("','",$vals);
$vals="'".$vals."'";
$mysql.="insert into `$table`($keys) values($vals);\r\n";
}
$mysql.="\r\n";
}
$filename=date('Ymj').".sql"; //文件名為當天的日期
$fp = fopen($filename,'w');
fputs($fp,$mysql);
fclose($fp);
echo "<br><center>數據備份成功,生成備份文件".$filename."</center>";
?>
2009年6月8日 星期一
[PHP] mysql數據庫備份代碼
【下列文章您可能也有興趣】
訂閱:
張貼留言 (Atom)
4 則留言:
想請問為什麼我備份出來的資料,會有一堆問號呢
應該是編碼問題.
utf8 或 big5 問題~
請問備份出來的檔案
會存到哪裡
我找不到@@
檔案路徑, 請參考這個 php函數
http://php.net/manual/en/function.fopen.php
張貼留言