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();
【pdo实现数据库导出】$mysql.=$sql['Create Table']."; \r\n";
$q3=$pdo->query("select*from `$table`");
while($data=https://www.it610.com/article/$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);
?>

    推荐阅读