Maison >développement back-end >tutoriel php >php导入phpmyadmin导出的sql的实现代码
phpmyadmin导出的sql,交给php程序导入到别的库中,如何实现呢?本文为大家提供了一种不错的方法,有需要的朋友,可以看看。
完整代码如下。 <?php //导入phpmyadmin导出的sql数据 //整理 bbs.it-home.org //$file表示通过读取sql文件返回的字符串,比如$file2=file_get_contents('db.sql'); function import($file2){ $Db = new Db(); $file2=explode("\n",$file2);//将文件内容按行读入到数组 $c1=count($file2); for($j=0;$j<$c1;$j++) { $ck=substr($file2[$j],0,4);//取每行的前4个字符 if( ereg("#",$ck)||ereg("--",$ck) )//去掉注释 { continue; } $arr[]=$file2[$j];//将去掉注释的文件内容按行读入数组$arr,数组每个元素对应一行 } $read=implode("\n",$arr); //重新组织文件内容到一个字符串,(按照原来分好的一行一行的) $sql=str_replace("\r",'',$read);//去掉"\r(回车符)" $detail=explode(";\n",$sql); //将经上述整理过的文件内容再次按一条完整的sql语句(以;和\n分隔)导入到数组$detail, //此时数组detail的每个元素对应一条完整的sql语句 $count=count($detail); for($i=0;$i<$count;$i++) { $sql=str_replace("\r",'',$detail[$i]);//去掉每行sql中的回车符 $sql=str_replace("\n",'',$sql);//去掉换行符 $sql=trim($sql);//去掉前后空格 //现在的$sql $Db->query($sql); } } ?> |