原理为按SQL文件的";"来分割SQL语句分别执行,输出结果到浏览器,且产生Javascript自动刷新页面,执行下一个SQL语句。
<html>
<head>
<title>数据库导入</title>
</head>
<body bgcolor=#cccccc>
<center>数据库导入</center>
<?
$file_name="***.sql";//SQL文件名,建议将SQL文件上传到服务器上
$db_name="***";//数据库名
if ($number)//输入第number句SQL语句
{
$fp=fopen($file_name,"rt");//读SQL文件
$counter=0;//计数器初始化
while ($counter<=$number-1)//循环读取文件
{
$ch=fgetc($fp);
if ($ch==";")
{
$counter++;
$ch=fgetc($fp);
}
if ($counter==$number-1)//定位第number句SQL语句,保存到txt中
{
$txt.=$ch;
}
}
fclose($fp);
$txt.=";";//为SQL加分号
echo substr($txt, 1, 300);
echo "<br>";
$id=mysql_connect('localhost','administrator','');
$db=mysql_select_db($db_name,$id);
if ($result=mysql_db_query($db_name,$txt,$id))//执行SQL语句
{
$txt="OK,".$number;
$number++;
}
else
{
$txt="Wrong,".$number;
}
}
echo $txt;
?>
<script language="javascript">//自动刷新的Javascritp语句
document.location="input.php3?number=<? echo $number;?>";//定位于下一句
</script>
</body>
</html>
|