php+导入sql+文件,php导入还原sql文件功能示例(仿phpmyadmin导入)

前面小站有篇文章(php导出备份MySql数据库功能示例)提到过,网站后台里数据库的备份和还原(导出和导入)是一个非常重要的功能。小站在 MySQL数据库导入和导出的多种方法这篇文章里已经介绍过。还是那句话,这次我们用php来给自己写一个导出数据库sql文件的功能,因为有些时候,我们租用的廉价虚拟主机不一定提供phpmyadmin的权限,这个时候,只能靠自己了。下面开始上代码:

一般导入sql文件的功能都是先选择一个sql文件上传到服务端,这里省略文件上传的过程,假设文件已经上传到服务端。如果需要php文件上传功能示例教程的朋友稍等一会儿,小站以后很快更新,下面先上执行sql文件的代码:

header('Content-type:text/html; charset=utf-8');

// 配置数据库信息

$db_h = 'localhost';

$db_u = 'root';

$db_p = '';

$db_n = 'wenda';        // 数据库名称

$db_char = 'utf8';

$sql_file = 'test.sql'; // 需导入的sql文件路径(文件名)

$link = mysql_connect($db_h,$db_u,$db_p);

mysql_query('set names '.$db_char);

mysql_select_db($db_n);

$lines=file($sql_file); // 读取文件到数组$lines

echo '正在导入sql...
';

$sqlstr=""; // 声明sql语句字符串

// 处理数组$lines,去掉注释行,放入$sqlstr中

foreach($lines as $line){

$line=trim($line);

if($line!=""){

if((substr($line,0,1)!="#" && substr($line,0,2)!="--")){

$sqlstr.=$line;

}

}

}

$sqlstr=preg_replace("/\/\*.*\*\//is","",$sqlstr); //去掉 /**/注释

// 处理$sqlstr,用分号分成单句sql语句

$sqlstr=rtrim($sqlstr,";");

$sqls=explode(";",$sqlstr);

// 循环遍历执行$sqls里的sql语句

foreach($sqls as $sql){

if(mysql_query($sql)){

echo '执行成功!=>
'.substr($sql,0,50).'
';

}else{

echo '执行失败!=>
'.mysql_error().'
';

}

}

echo '导入完成!';

这样我们就能自己写一个sql文件导入还原的功能了。以上代码示例供大家学习用,实际使用的时候注意考虑安全问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值