php中比较简单的导入phpmyadmin生成的sql文件的方法
作者:
做网站的时候 我们会制作一个安装文件 就需要用到sql文件创建数据库。分享一下 我所用的方法。
我们知道很多在网上下载的论坛或者个人博客程序都有安装的页面,要制作这样的安装程序就需要用到sql文件创建数据库。
只对phpmyadmin导出的sql文件有效
$dbfile="test.sql";
$content=iconv("UTF-8","GB2312",file_get_contents($dbfile));
//获取创建的数据
//去掉注释
$content=preg_replace("/--.*\n/iU","",$content);
//替换前缀
$content=str_replace("ct_",TABLE_PRE,$content);
$carr=array();
$iarr=array();
//提取create
preg_match_all("/Create table .*\(.*\).*\;/iUs",$content,$carr);
$carr=$carr[0];
foreach($carr as $c)
{
@mysql_query($c,$link);
}
//提取insert
preg_match_all("/INSERT INTO .*\(.*\)\;/iUs",$content,$iarr);
$iarr=$iarr[0];
//插入数据
foreach($iarr as $c)
{
@mysql_query($c,$link);
}
只对phpmyadmin导出的sql文件有效
复制代码 代码如下:
$dbfile="test.sql";
$content=iconv("UTF-8","GB2312",file_get_contents($dbfile));
//获取创建的数据
//去掉注释
$content=preg_replace("/--.*\n/iU","",$content);
//替换前缀
$content=str_replace("ct_",TABLE_PRE,$content);
$carr=array();
$iarr=array();
//提取create
preg_match_all("/Create table .*\(.*\).*\;/iUs",$content,$carr);
$carr=$carr[0];
foreach($carr as $c)
{
@mysql_query($c,$link);
}
//提取insert
preg_match_all("/INSERT INTO .*\(.*\)\;/iUs",$content,$iarr);
$iarr=$iarr[0];
//插入数据
foreach($iarr as $c)
{
@mysql_query($c,$link);
}