发表时间:2015-05-27来源:网络
sql php
1.打开sql文件,放入一个变量(字符串类型)当中
2.使用正则替换掉当中的注释(“--”与“/**/”)
3.使用explode分割成为一个数组并去除每行的空格
4.链接数据库之后使用my_query()执行sql
// +------------------------------------------------------------------------------------------// | Author: longDD// +------------------------------------------------------------------------------------------// | There is no true,no evil,no light,there is only power.// +------------------------------------------------------------------------------------------// | Description: import sql Dates: 2014-08-07// +------------------------------------------------------------------------------------------class ImportSql{/** @var $content 数据库连接 */protected $connect = null;/** @var $db 数据库对象 */protected $db = null;/** @var $sqlFile sql文件 */public $sqlFile = "";/** @array @sqlArr sql语句数组 */public $sqlArr = array();/*** 构造函数** @param string $host 主机地址* @param string $user 用户名* @param string $pw 密码* @param $db_name 数据库名称* @return void*/public function __construct($host, $user, $pw, $db_name){/** 连接数据库 */$this->connect = mysql_connect($host, $user, $pw) or die("Could not connect: " . mysql_error());/** 选中数据库 */$this->db = mysql_select_db($db_name, $this->connect) or die("Yon can not select the table:" . mysql_error());}/*** 导入sql文件** @param string $url 文件路径* @return true 导入成返回true*/public function Import($url){if(!file_exists($url)){exit("文件不存在!");}$this->sqlFile = file_get_contents($url);if (!$this->sqlFile){exit("打开文件错误!");}else{$this->GetSqlArr();if ($this->Runsql()){return true;}}}/*** 获取sql语句数组** @return void*/public function GetSqlArr(){/** 去除注释 */$str = $this->sqlFile;$str = preg_replace('/--.*/i', '', $str);$str = preg_replace('////*.*/*//(/;)?/i', '', $str);/** 去除空格 创建数组 */$str = explode(";/n", $str);foreach ($str as $v){$v = trim($v);if (empty($v)){continue;}else{$this->sqlArr[] = $v;}}}/*** 执行sql文件** @return true 执行成功返回true*/public function RunSql(){/** 开启事务 */if (mysql_query('BEGIN')){foreach ($this->sqlArr as $k => $v){if (!mysql_query($v)){/** 回滚 */mysql_query('ROLLBACK');exit("sql语句错误:第" . $k . "行" . mysql_error());}}/** 提交事务 */mysql_query('COMMIT');return true;}else{exit('无法开启事务!');}}}// +------------------------------------------------------------------------------------------// | End of ImportSql class// +------------------------------------------------------------------------------------------/*** This is a example.*/header("Content-type:text/html;charset=utf-8");$sql = new ReadSql("localhost", "root", "", "log_db");$rst = $sql->Import("./log_db.sql");if ($rst){echo "Success!";}// +------------------------------------------------------------------------------------------// | End of file ImportSql.php// +------------------------------------------------------------------------------------------// | Location: ./ImportSql.php// +------------------------------------------------------------------------------------------
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中的(++i)前缀自增 和 (i++)后缀自增
将视频设置为Android手机开机动画的教程
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
常用dos命令及语法
PHP中include和require区别之我见
物性表手机版下载v2.3.0 安卓版
71.12MB |商务办公
hooli留学公寓app下载v5.6.1 安卓官方版
28.64MB |生活服务
桔小跑陪诊师版软件下载v1.3.03 安卓版
56.18MB |生活服务
pdfgear手机版apk下载v1.13 官方最新版
212.3MB |商务办公
蜀道昭化官方版下载v3.0.24 安卓版
77.72MB |资讯阅读
2025赣服通养老认证app下载v6.0.11安卓学生缴费平台
116.38MB |商务办公
奏歌最新版本下载v1.1.1 安卓版
109.46MB |生活服务
拼任务软件下载v5.23.0 安卓官方版
62.81MB |系统工具
2014-09-05
2022-03-20
2022-03-21
2022-03-24
2014-09-05
2014-09-05
2015-07-05
2014-09-05
2022-03-21
2014-09-05