php备份下载mysql数据库
2023-09-14 09:16:40 时间
<?php
//连接数据库
$conn=mysql_connect("localhost","root","root");
mysql_select_db("evaluation_system",$conn);
mysql_query("set names utf8");
//要备份的数据库名
$dbname="evaluation_system";
//定义备份后要下载的文件名
$filename="evaluation_system-backup-".gmdate("Y-m-d").".sql";
//备份文件里头的内容 目前为空
$contents="";
//定义下载文件
header("Content-disposition:filename=".$filename);
header("Content-type:application/octetstream");
header("Pragma:no-cache");
header("Expires:0");
//查询数据库中的所有表名
$sql_tablist="show tables";
$rs_tablist=mysql_query($sql_tablist);
while($tablist=mysql_fetch_assoc($rs_tablist)){
//echo $tablist['Tables_in_'.$dbname]."</br>";
//查询每个标的创建详细信息
$sql_createtab="show create table `".$tablist['Tables_in_'.$dbname]."`";
$rs_createtab=mysql_query($sql_createtab);
$createtab=mysql_fetch_assoc($rs_createtab);
//每个标的创建信息写入文件内容变量
$contents.="\r\t".$createtab['Create Table'].";\r\t";
//备份文件要插入的数据也写入文件内容变量
$contents.="insert into ".$tablist['Tables_in_'.$dbname]."(";
//查询每个表的表头
$sql_desctab="desc `".$tablist['Tables_in_'.$dbname]."`";
$rs_desctab=mysql_query($sql_desctab);
$recordcount=mysql_num_rows($rs_desctab); //统计所有行数
$sum=0;
//把查询到的表头记录在数组里头
$array=array();
while($desctab=mysql_fetch_assoc($rs_desctab)){
$array[]=$desctab['Field'];
$contents.="`".$desctab['Field']."`";
if(++$sum<$recordcount){
$contents.=",";
}
}
$contents.=") values\r\t";
//查询每个表的所有数据
$sql_data="select * from `".$tablist['Tables_in_'.$dbname]."` ";
$rs_data=mysql_query($sql_data);
$recordcount1=mysql_num_rows($rs_data); //统计所有行数
//根据表头把数据按顺序写进文件内容变量
$sum1=0;
while($data=mysql_fetch_assoc($rs_data)){
$contents.="(";
$sum=0;
foreach($array as $value){
$contents.="'".$data[$value]."'";
if(++$sum<$recordcount){
$contents.=",";
}
}
$contents.=")";
if(++$sum1<$recordcount1){
$contents.=",\r\t";
}
}
$contents.=";";
}
//输出数据
echo $contents;
?>
相关文章
- [PHP] ubuntu16.04配置Lamp环境(搭建linux+apache+mysql+php7环境)
- 【转】PHP网站(nginx、php-fpm、mysql) 用户权限解析
- Windows下图文详解PHP三种运行方式(php_mod、cgi、fastcgi)
- 配置php.ini实现PHP文件上传功能
- 【MySQL】批量删除mysql中数据库中的表
- 【MySql】mysql 表的常规管理
- 工作常用的linux/mysql/php/工具命令
- MySQL高可用性之Keepalived+Mysql(双主热备)
- CentOS下httpd下php 连接mysql 本机可以,外网报错Could not connect: Can't connect to MySQL server on '127.0.0.1' (13)2003 原因解析
- Mysql一个非常有用的内置函数今天碰到要把MySQL数据库中的varchar转换成date类型进
- PHP中smarty与MYSQL数据库的连接
- PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)--续
- thinkphp6:mysql数据库使用事务(php 8.1.1 / thinkphp v6.0.10LTS)
- [PHP] 如何让 php-fpm 的循环 echo 实时输出到浏览器
- [php-src]Php扩展的内存泄漏处理思路
- [转]PHP用mysql数据库存储session
- Atitit php pdo的api使用 目录 1.1. PHP PDO简介1 1.2. 若要使用数据库长连接,:PDO::ATTR_PERSISTENT1 2. 其他设置2 2.1. )、P
- Python MySQL - mysql-connector 驱动
- MySQL 聚簇索引和非聚簇索引 & mysql 索引为啥用b 树
- MYSQL导入数据报错|MYSQL导入超大文件报错|MYSQL导入大数据库报错:2006 - MySQL server has gone away
- MySQL Study之--Mysql无法启动“mysql.host”
- fedora23中安装php-mysql等
- Mysql数据库的mysql Schema 究竟有哪些东西& 手工注入的基础要领
- 17. PHP+Mysql注入防护与绕过
- mysql_10 _ MySQL为什么有时候会选错索引?
- php去除换行符的方法小结(PHP_EOL变量的使用)
- 【整理】Linux下中文检索引擎coreseek4安装,以及PHP使用sphinx的三种方式(sphinxapi,sphinx的php扩展,SphinxSe作为mysql存储引擎)
- 【MySql】MySQL数据库--什么是MySQL的回表 ?