pdo实现数据库导出


<?php

header("content-Type: textml; charset=utf-8");

//备份数据库

$host="192.168.1.149";

$user="root";//数据库账号

$password="root";//数据库密码

$dbname="weixin";//数据库名称 //这里的账号、密码、名称都是从页面传过来的

$pdo=newPDO("mysql:host=$host;dbname=$dbname",$user,$password);

if(!$pdo)//连接mysql数据库

{

echo'数据库连接失败,请核对后再试';exit;

}

$pdo->exec("set names 'utf8'");

$mysql="set charset utf8;\r\n";

$q1=$pdo->query("show tables");//获取数据库的表名

while($t=$q1->fetch())

{

$table=$t[0];

$q2=$pdo->query("show create table `$table`");

$sql=$q2->fetch();

$mysql.=$sql['Create Table'].";\r\n";

$q3=$pdo->query("select*from `$table`");

while($data=$q3->fetch(PDO::FETCH_ASSOC))

{

$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.".sql";//存放路径,默认存放到项目最外层

$fp=fopen($filename,'w');

fputs($fp,$mysql);

fclose($fp);

//header实现下载

header('content-type:application/octet-stream');

header("content-disposition:attachment;filename=$filename");

//读取文件内容

readfile($filename);

?>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pdo类PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,...
    桖辶殇阅读 890评论 0 0
  • // 备份数据库 $host="localhost"; $user="root";//数据库账号 $passwor...
    全栈工程师wql阅读 554评论 0 0
  • 1.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。My...
    黄花菜已凉阅读 4,600评论 3 60
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • 听写 黑板显示如下:1.旋律题。6/8拍,a小,4小节,X4。2.节奏题。6/8拍,C大,4小节,X4。3.二声部...
    法雲阅读 523评论 0 0