巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
建站专提News

利用php主动备份数据库表的完成体例

一佰互联网站开辟设想(www.taishanly.com) 宣布日期 2020-04-26 09:01:52 阅读数: 250

1、媒介

mysql数据库的备份体例有良多;

比方:

1、利用mysqldump函数

mysqldump -u username -p dbname table1 table2 ... > BackupName.sql

dbname参数表现数据库的称号

table1和table2参数表现须要备份的表的称号,为空则全数数据库备份;

BackupName.sql参数表设想备份文件的称号,文件名后面能够加上一个绝对途径。凡是将数据库被分红一个后缀名为sql的文件;

根基利用:

2、办理东西

备份数据库的体例良多,上面两种比拟罕见

而本次首要讲授若何经由进程php函数来主动备份数据库

2、相干函数先容

2.1 、fopen

概况参考:http://www.w3school.com.cn/php/func_filesystem_fopen.asp

2.2、array_keys

概况参考:http://www.w3school.com.cn/php/func_array_keys.asp

2.3、array_values

2.4、implode

概况参考:http://www.w3school.com.cn/php/func_string_implode.asp

2.5、substr

概况参考:http://www.w3school.com.cn/php/func_string_substr.asp

2.6、fwrite

概况参考:http://www.w3cschool.cn/php/func-filesystem-fwrite.html

3、完成思绪

4、代码组成

/** * [copyDb description] 备份数据库 * @param [type] $dbname [description] 数据库名 * @param [type] $fileName [description] 存储的文件名 * @return [type]   [description] */public function copyDb($dbname, $fileName){	$myfile = fopen($fileName, "w") or die("Unable to open file!");//翻开存储文件	$this->link->query("use {$dbname}");//切换数据库	$this->changeDb($dbname);	$tables = $this->link->query("show tables");//取得当期数据库一切表称号	while($re = $tables->fetch(PDO::FETCH_ASSOC)){		//var_dump($re);//检查数组组成		$tableName = $re["Tables_in_".$dbname];//组成特定的下标		$sql = "show create table {$tableName};";		$tableSql = $this->link->query($sql);		fwrite($myfile, "DROP TABLE IF EXISTS `{$tableName}`;");//插手默许删除表的碰见		//上面备份表布局,这个轮回之履行一次		while($re = $tableSql->fetch(PDO::FETCH_ASSOC)){			// echo "<pre>";			// var_dump($re);			// echo "</pre>";			echo "正在备份表{$re["Table"]}布局<br/>";			fwrite($myfile, $re["Create Table"].";");			echo "正在备份表{$re["Table"]}布局完成<br/>";		}		//上面备份表数据		echo "正在备份表{$tableName}数据<br/>";		$sql = "select * from {$tableName};";		$valueSql = $this->link->query($sql);		while($re = $valueSql->fetch(PDO::FETCH_ASSOC)){			$keyArr = array_keys($re);//取得对应的键值			$valueArr = array_values($re);//取得对应的值				$keyStr = "";			foreach ($keyArr as $key => $value) {				$keyStr .= "`".$value."`,";			}			$keyStr = substr($keyStr,0,strlen($keyStr)-1); //掏出最初一个逗号			$valueStr = "";			// var_dump($valueArr);			foreach ($valueArr as $key => $value) {				$valueStr .= """.$value."",";			}			//以上的处置只是对应sql的写法			$valueStr = substr($valueStr,0,strlen($valueStr)-1); //掏出最初一个逗号			$sql = "insert into `{$tableName}`({$keyStr}) values({$valueStr})";			fwrite($myfile, $sql.";");					}		echo "正在备份表{$tableName}数据完成<br/>";		echo "<br/><hr/>";	}	fclose($myfile);}

5、结语

备份数据库的首要进程:

切换到对应的数据库;

利用show create table tableName,取得表布局,写到文件中;

而后查问一切的表数据,轮回天生绝对应sql语句,写到文件中;

试运转天生的sql文件;

以上这篇利用php主动备份数据库表的完成体例便是小编分享给大师的全数内容了,但愿能给大师一个参考,也但愿大师多多撑持网页设想。

一佰互联是天下着名建站品牌办事商,咱们有九年、网站建造、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。更多资讯:tags标签

相干消息more

15
04月
高端网站扶植-263企业邮箱的几个首要特点

1.海内收发因为国际线路的不不变,致使向局部外洋邮件办事器发信失利的事例时有产生。263为处理该题目,特地架设了多台海内收发办事器,确保了2... >>概况

20
04月
HTML5 Video/Audio播放本地文

这段时辰常常看到开辟者在频频扣问统一个题目,为甚么经由进程设置src属性,不能播放本地的媒体文件?比方video.src=”D: e... >>概况

03
05月
不容轻忽 搜刮引擎的三足鼎峙为SEO缔造了机

按照13年8月份的成果,百度65%,360占18%,新搜狗快要14%。经由进程这份数据咱们已看到搜刮引擎市场已是三足鼎峙。良多SEO和相干营... >>概况

20
04月
基于HTML5 Canvas的3D静态Cha

发明此刻产业SCADA上或电信网管方面用图表的出格多,固然绝大局部人在图表建造方面用的是echarts,他确切好用,可是有些时辰咱们不能调... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站