首页 > 资讯列表 > 编程/数据库 >> 数据库操作教程

PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)

数据库操作教程 2016-04-08 04:20:19 转载来源: 网络整理/侵权必删

本文为大家提供的是一个PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能),感兴趣的同学参考下。 这里有新鲜出炉的PHP面向对象教程,程序狗速度看过来! PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言

本文为大家提供的是一个PHP实现MySQL数据库导出.sql文件实例(仿PHPMyadmin导出功能),感兴趣的同学参考下。

这里有新鲜出炉的PHP面向对象教程,程序狗速度看过来!

PHP开源脚本语言

PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。

本文为大家提供的是一个PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能),感兴趣的同学参考下。

用php代码实现数据库备份可以使网站的管理变得非常便捷,我们可以直接进后台操作就能完成数据库的备份。

关键技术:

1. 首先要得到该数据库中有哪些表,所用函数 mysql_list_tables(),然后可以将获取的所有表名存到一个数组。 2. show create table 表名 可以获取表结构。 3. select * from 表名 取出所有记录,用循环拼接成 insert into... 语句。

实现代码:

<?php  header("Content-type:text/html;charset=utf-8");  //配置信息  $cfg_dbhost = 'localhost';  $cfg_dbname = 'ftdm';  $cfg_dbuser = 'root';  $cfg_dbpwd = 'root';  $cfg_db_language = 'utf8';  $to_file_name = "ftdm.sql";  // END 配置

 //链接数据库  $link = mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);  mysql_select_db($cfg_dbname);  //选择编码  mysql_query("set names ".$cfg_db_language);  //数据库中有哪些表  $tables = mysql_list_tables($cfg_dbname);  //将这些表记录到一个数组  $tabList = array();  while($row = mysql_fetch_row($tables)){   $tabList[] = $row[0];  }  echo "运行中,请耐心等待...<br/>";  $info = "-- ----------------------------rn";  $info .= "-- 日期:".date("Y-m-d H:i:s",time())."rn";  $info .= "-- 仅用于测试和学习,本程序不适合处理超大量数据rn";  $info .= "-- ----------------------------rnrn";  file_put_contents($to_file_name,$info,FILE_APPEND);

 //将每个表的表结构导出到文件  foreach($tabList as $val){   $sql = "show create table ".$val;   $res = mysql_query($sql,$link);   $row = mysql_fetch_array($res);   $info = "-- ----------------------------rn";   $info .= "-- Table structure for `".$val."`rn";   $info .= "-- ----------------------------rn";   $info .= "DROP TABLE IF EXISTS `".$val."`;rn";   $sqlStr = $info.$row[1].";rnrn";   //追加到文件   file_put_contents($to_file_name,$sqlStr,FILE_APPEND);   //释放资源   mysql_free_result($res);  }

 //将每个表的数据导出到文件  foreach($tabList as $val){   $sql = "select * from ".$val;   $res = mysql_query($sql,$link);   //如果表中没有数据,则继续下一张表   if(mysql_num_rows($res)<1) continue;   //   $info = "-- ----------------------------rn";   $info .= "-- Records for `".$val."`rn";   $info .= "-- ----------------------------rn";   file_put_contents($to_file_name,$info,FILE_APPEND);   //读取数据   while($row = mysql_fetch_row($res)){    $sqlStr = "INSERT INTO `".$val."` VALUES (";    foreach($row as $zd){     $sqlStr .= "'".$zd."', ";    }    //去掉最后一个逗号和空格    $sqlStr = substr($sqlStr,0,strlen($sqlStr)-2);    $sqlStr .= ");rn";    file_put_contents($to_file_name,$sqlStr,FILE_APPEND);   }   //释放资源   mysql_free_result($res);   file_put_contents($to_file_name,"rn",FILE_APPEND);  }  echo "OK!"; ?>

标签: 导出 PHP 实现 MySQL 数据库 .sql 文件 实例 PHPMyadmin


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持