//配置信息
$dbms='mysql'; //数据库类型
$host='localhost:3307'; //数据库主机名
$dbName='phpDemo'; //使用的数据库
$user='root'; //数据库连接用户名
$pass=''; //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";
$to_file_name = "kccxxt.sql"; //定义数据库备份导出成 sql 的
文件名
(3)连接数据库
//连接数据库
try {
$dbh = new PDO($dsn, $user, $pass); //初始化一个 PDO 对象
$dbh->query('SET NAMES utf8'); // 设置字符集
} catch (PDOException $e) {
die ("Error!: " . $e->getMessage() . "<br/>");
}
4.2、获取数据并导出到文件
(1)获取数据库中所有数据表名
//获得数据库中的所有表
$tables = $dbh->query("show tables");
$result=$tables->fetchAll(PDO::FETCH_NUM);
//定义一个数组,用于将获取的所有表名存到一个数组
$tabList = array();
foreach($result as $row){
$tabList[] = $row[0]; //将获取的所有表名存到一个数组
}
(2)输出当前时间到文件
echo "运行中,请耐心等待...<br/>"; //输出页面状态信息
$info = "-- ----------------------------\r\n";
$info .= "-- 日期:".date("Y-m-d H:i:s",time())."\r\n";
$info .= "-- ----------------------------\r\n\r\n";
//将以上要输出的提示信息写入文件中
//file_put_contents 用于将一个字符串写入文件
file_put_contents($to_file_name,$info,FILE_APPEND);//其中
FILE_APPEND 代表文件$to_file_name 已经存在,追加数据而不是覆盖。
(3)导出表结构
//将每个表的表结构导出到文件