php导入大数据库脚本

将数据库文件命名为silic.sql,上传至与本脚本同目录即可

mysql.php
<?php
header("content-type:text/html; charset=UTF-8");
set_time_limit(0);
ini_set('memory_limit', 60000000);
$host="localhost"; 
$user="dbuser"; 
$password="dbpass";
$dbname="dbname";
mysql_connect($host,$user,$password); 
mysql_select_db($dbname); 
$mysql_file="t.sql";
mysql_comeback($mysql_file);
function mysql_comeback($fname)
{
 if (file_exists($fname)) {
 $sql_value="";
 $cg=0;
 $sb=0;
 $sqls=file($fname);
 foreach($sqls as $sql)
 {
 $sql_value.=$sql;
 }
 $a=explode(";\r\n", $sql_value);
 $total=count($a)-1;
 for ($i=0;$i<$total;$i++)
 {
 //执行命令
if(mysql_query($a[$i]))
 {
 $cg+=1;
 }
 else
 {
 $sb+=1;
 $sb_command[$sb]=$a[$i];
 }
 }
 echo "操作完毕,共处理 $total 条命令,成功 $cg 条,失败 $sb 条";
 //-----------------------------------------------------------
//输出错误命令,如果不需要可注释以下代码
if ($sb>0) 
{
 echo "<hr><br><br>失败命令如下:<br>";
 for ($ii=1;$ii<=$sb;$ii++)
 {
 echo "<p><b>第 ".$ii." 条命令(内容如下):</b><br>".$sb_command[$ii]."</p><br>";
 }
 }
 //-----------------------------------------------------------
 }else{
 echo "MySQL备份文件不存在,请检查文件路径是否正确!";
 }
}
?>