php导出.sql文件,mysql数据库备份程序
程序员文章站
2022-04-10 12:10:22
...
'',//ip地址 'charset' => 'utf8',//编码 'filename' => $database.'.sql',//文件名 'username' => '', 'password' => '' ); mysql_connect($options['hostname'],$options['username'],$options['password'])or die("不能连接数据库!"); mysql_select_db($database) or die("数据库名称错误!"); mysql_query("SET NAMES '{$options['charset']}'"); $tables = list_tables($database); $filename = sprintf($options['filename'],$database); $fp = fopen($filename, 'w'); foreach ($tables as $table) { dump_table($table, $fp); } fclose($fp); //下载sql文件 $file_name=$options['filename']; Header("Content-type:application/octet-stream"); Header("Content-Disposition:attachment;filename=".$file_name); readfile($file_name); //删除服务器上的sql文件 unlink($file_name); exit; //获取表的名称 function list_tables($database) { $rs = mysql_list_tables($database); $tables = array(); while ($row = mysql_fetch_row($rs)) { $tables[] = $row[0]; } mysql_free_result($rs); return $tables; } //导出数据库 function dump_table($table, $fp = null) { $need_close = false; if (is_null($fp)) { $fp = fopen($table . '.sql', 'w'); $need_close = true; } $a=mysql_query("show create table `{$table}`"); $row=mysql_fetch_assoc($a);fwrite($fp,$row['Create Table'].';');//导出表结构 $rs = mysql_query("SELECT * FROM `{$table}`"); while ($row = mysql_fetch_row($rs)) { fwrite($fp, get_insert_sql($table, $row)); } mysql_free_result($rs); if ($need_close) { fclose($fp); } } //导出表数据 function get_insert_sql($table, $row) { $sql = "INSERT INTO `{$table}` VALUES ("; $values = array(); foreach ($row as $value) { $values[] = "'" . mysql_real_escape_string($value) . "'"; }//开源代码phprm.com $sql .= implode(', ', $values) . ");"; return $sql; }
本文地址:
转载随意,但请附上文章地址:-)
上一篇: php注入祥解