///////////修改数据库名,导入的表名,就可以了
$database='test';//数据库名
$options=array(
'hostname' => 'localhost',//ip地址
'charset' => 'utf8',//编码
'filename' => $database.'.sql',//文件名
'username' => 'root',
'password' => ''
);
mysql_connect($options['hostname'],$options['username'],$options['password'])or die("不能连接数据库!");
mysql_select_db($database) or die("数据库名称错误!");
mysql_query("SET NAMES '{$options['charset']}'");
$tableName = "yyy"; //要导出表名
dump_table($tableName);
/////////////////////////以上是导出数据库
//下载sql文件
//$file_name=$tableName.'.xml';
//Header("Content-type:application/octet-stream");
//Header("Content-Disposition:attachment;filename=".$file_name);
//readfile($file_name);
Import('localhost','root','','test1','yyy.xml'); //导入数据库,运行,注意改参数(服务器,用户名,密码,导入的数据库,导出数据库生成的文件)
exit;
//导出数据库
function dump_table($table)
{
$need_close = false;
$a=mysql_query("show create table `{$table}`");//显示创建mysql数据的的语句结构。
$row=mysql_fetch_assoc($a);//导出表结构
$rs = mysql_query("SELECT * FROM `{$table}`");
$dom = new DOMDocument("1.0","utf-8"); //创建xml对象
$dom->formatOutput = true;
$root = $dom->createElement("xmls"); //创建xmls节点
$dom->appendChild($root); //将xmls节点加入xml对象
$tableNode = $dom->createElement("table"); //创建table节点
$tableValue = $dom->createAttribute("value"); //创建value属性
$tableNode->appendChild($tableValue); //将value属性加入table节点
$tableNode->setAttribute("value",$row['Create Table']); //设置table节点中value属性的值
$root->appendChild($tableNode); //将table节点加入xmls节点,意思就是成为xmls的子节点
while ($row =
mysql_fetch_row($rs)) { //如上,每有一行数据就创建一个row节点,每个row节点都有一个value属性,
$insert = $dom->createElement("row"); //他的值就是insert语句,每个row节点都成为
xmls的子节点
$in = $dom->createAttribute("value");
$insert->appendChild($in);
$insert->setAttribute("value",get_insert_sql($table, $row));
$root->appendChild($insert);
}
$dom->save("{$table}.xml"); //最后保存xml文件,括号内是保存的路径
mysql_free_result($rs);//释放内存
}
//将表中每一行拼接成sql语句
function get_insert_sql($table, $row)
{
$
sql = "INSERT INTO `{$table}` VALUES (";
$values = array();
foreach ($row as $value) {
$values[] = "'" . mysql_real_escape_string($value) . "'";
}
$sql .= implode(', ', $values) . ");";
return $sql;
}
/////////////导入数据库
function Import($hostname,$username,$pass
word,$database,$
xmlPath){
mysql_connect($hostname,$username,$password) or die("不能连接数据库!");
mysql_select_db($database)or die("数据库名称错误!");
mysql_query("set names utf8");
$xml = new DOMDocument();//创建xml对象
$xml->load($xmlPath);//根据括号内路径载入文件
$tables = $xml->getElementsByTagName("table");//取得节点名称为table的节点集合
$SqlCreateTable = ""; //新建创建表的sql语句
foreach($tables as $table){ //遍历名称为table的节点集合
$SqlCreateTable = $table->getAttribute("value");//取得每个table节点中value属性的值,并拼接到sql语句上
}
mysql_query($SqlCreateTable); //运行创建表的sql语句
$rows = $xml->getEle