pdo实现数据库导出


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实现数据库导出)