• 音乐的感动,在于聆听,枫林幻境,期待您的投稿... QQ
  • 若您有好的音乐就来投稿吧,博主热烈欢迎哦 QQ
  • 欢迎光临枫林幻境,本站域名http://fyypll.cn

『PHP』数据库备份脚本

代码集合 枫雨 3年前 (2016-04-23) 1691次浏览 已收录 5个评论

问题

博主从 windows 主机换为 linux 了,但是遇到了 windows 主机中备份的数据库文件导入不了 linux 搭建的数据库这个蛋疼的问题。所以找到了一串用来备份数据库的 php 代码,用这个备份出来的数据库文件终于可以导入了。现在备份下代码,免得以后忘记

代码

<?php 
// 备份数据库
$host = "localhost";
$user = "root"; //数据库账号
$password = ""; //数据库密码
$dbname = "mysql"; //数据库名称
// 这里的账号、密码、名称都是从页面传过来的
if (!mysql_connect($host, $user, $password)) // 连接 mysql 数据库
    {
        echo '数据库连接失败,请核对后再试';
    exit;
} 
if (!mysql_select_db($dbname)) // 是否存在该数据库
    {
        echo '不存在数据库:' . $dbname . ',请核对后再试';
    exit;
} 
mysql_query("set names 'utf8'");
$mysql = "set charset utf8;\r\n";
$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";
    $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";
    } 
} 
 
$filename = $dbname . date('Ymjgi') . ".sql"; //存放路径,默认存放到项目最外层
$fp = fopen($filename, 'w');
fputs($fp, $mysql);
fclose($fp);
echo "数据备份成功";
 
?>

枫林幻境 , 版权所有丨如未注明 , 均为原创丨转载请注明出处:枫林幻境 - fyypll.cn
喜欢 (2)
关于作者:
音乐的感动,在于聆听,枫林幻境,分享音乐的乐趣
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(5)个小伙伴在吐槽
  1. 要养成经常备份的好习惯
    什么最值买2016-05-09 08:50 回复 Windows 10 | Chrome 45.0.2454.101
  2. 好厉害!然而我并不会用! :evil:
    florentino2016-04-24 22:01 回复 Windows 7 | Chrome 50.0.2661.75
    • 建网站的小工具,说不定啥时候就用的上了,比如我现在的博客,数据库就是用这个备份的
      枫雨2016-04-24 22:18 Windows 8.1 | Firefox浏览器 45.0
  3. 博主好厉害,我都不会写这些。 :razz:
    Clarke2016-04-24 15:52 回复 Windows 10 | Chrome 45.0.2454.101
    • 我也不会,但是这不重要,会用就ok了,哈哈
      枫雨2016-04-24 17:11 Windows 8.1 | Firefox浏览器 45.0