php导入sql文件
php导入sql文件sql
php
php导入sql文件
基本思路
1.打开sql文件,放入一个变量(字符串类型)当中
2.使用正则替换掉当中的注释(“--”与“/**/”)
3.使用explode分割成为一个数组并去除每行的空格
4.链接数据库之后使用my_query()执行sql
代码
<ol class="linenums"><li class="L0"><code class="language-php"><?php</code><li class="L1"><code class="language-php"></code><li class="L2"><code class="language-php">// +------------------------------------------------------------------------------------------</code><li class="L3"><code class="language-php">// | Author: longDD <longdd_love@163.com></code><li class="L4"><code class="language-php">// +------------------------------------------------------------------------------------------</code><li class="L5"><code class="language-php">// | There is no true,no evil,no light,there is only power.</code><li class="L6"><code class="language-php">// +------------------------------------------------------------------------------------------</code><li class="L7"><code class="language-php">// | Description: import sql Dates: 2014-08-07</code><li class="L8"><code class="language-php">// +------------------------------------------------------------------------------------------</code><li class="L9"><code class="language-php"></code><li class="L0"><code class="language-php"></code><li class="L1"><code class="language-php">class ImportSql </code><li class="L2"><code class="language-php">{</code><li class="L3"><code class="language-php"></code><li class="L4"><code class="language-php"> /** @var $content 数据库连接 */</code><li class="L5"><code class="language-php"> protected $connect = null;</code><li class="L6"><code class="language-php"> /** @var $db 数据库对象 */</code><li class="L7"><code class="language-php"> protected $db = null;</code><li class="L8"><code class="language-php"> /** @var $sqlFile sql文件 */</code><li class="L9"><code class="language-php"> public $sqlFile = "";</code><li class="L0"><code class="language-php"> /** @array @sqlArr sql语句数组 */</code><li class="L1"><code class="language-php"> public $sqlArr = array();</code><li class="L2"><code class="language-php"></code><li class="L3"><code class="language-php"> /** </code><li class="L4"><code class="language-php"> * 构造函数</code><li class="L5"><code class="language-php"> * </code><li class="L6"><code class="language-php"> * @param string $host 主机地址</code><li class="L7"><code class="language-php"> * @param string $user 用户名</code><li class="L8"><code class="language-php"> * @param string $pw 密码</code><li class="L9"><code class="language-php"> * @param $db_name 数据库名称</code><li class="L0"><code class="language-php"> * @return void</code><li class="L1"><code class="language-php"> */</code><li class="L2"><code class="language-php"> public function __construct($host, $user, $pw, $db_name) </code><li class="L3"><code class="language-php"> {</code><li class="L4"><code class="language-php"> /** 连接数据库 */</code><li class="L5"><code class="language-php"> $this->connect = mysql_connect($host, $user, $pw) or die("Could not connect: " . mysql_error());</code><li class="L6"><code class="language-php"> /** 选中数据库 */</code><li class="L7"><code class="language-php"> $this->db = mysql_select_db($db_name, $this->connect) or die("Yon can not select the table:" . mysql_error());</code><li class="L8"><code class="language-php"> }</code><li class="L9"><code class="language-php"></code><li class="L0"><code class="language-php"> /** </code><li class="L1"><code class="language-php"> * 导入sql文件</code><li class="L2"><code class="language-php"> * </code><li class="L3"><code class="language-php"> * @param string $url 文件路径</code><li class="L4"><code class="language-php"> * @return true 导入成返回true</code><li class="L5"><code class="language-php"> */</code><li class="L6"><code class="language-php"> public function Import($url) </code><li class="L7"><code class="language-php"> {</code><li class="L8"><code class="language-php"> if(!file_exists($url))</code><li class="L9"><code class="language-php"> {</code><li class="L0"><code class="language-php"> exit("文件不存在!");</code><li class="L1"><code class="language-php"> }</code><li class="L2"><code class="language-php"></code><li class="L3"><code class="language-php"> $this->sqlFile = file_get_contents($url);</code><li class="L4"><code class="language-php"></code><li class="L5"><code class="language-php"> if (!$this->sqlFile) </code><li class="L6"><code class="language-php"> {</code><li class="L7"><code class="language-php"> exit("打开文件错误!");</code><li class="L8"><code class="language-php"> } </code><li class="L9"><code class="language-php"> else </code><li class="L0"><code class="language-php"> {</code><li class="L1"><code class="language-php"> $this->GetSqlArr();</code><li class="L2"><code class="language-php"></code><li class="L3"><code class="language-php"> if ($this->Runsql()) </code><li class="L4"><code class="language-php"> {</code><li class="L5"><code class="language-php"> return true;</code><li class="L6"><code class="language-php"> }</code><li class="L7"><code class="language-php"> }</code><li class="L8"><code class="language-php"> }</code><li class="L9"><code class="language-php"></code><li class="L0"><code class="language-php"> /**</code><li class="L1"><code class="language-php"> * 获取sql语句数组</code><li class="L2"><code class="language-php"> * </code><li class="L3"><code class="language-php"> * @return void</code><li class="L4"><code class="language-php"> */</code><li class="L5"><code class="language-php"> public function GetSqlArr() </code><li class="L6"><code class="language-php"> {</code><li class="L7"><code class="language-php"> /** 去除注释 */</code><li class="L8"><code class="language-php"> $str = $this->sqlFile;</code><li class="L9"><code class="language-php"> $str = preg_replace('/--.*/i', '', $str);</code><li class="L0"><code class="language-php"> $str = preg_replace('/\/\*.*\*\/(\;)?/i', '', $str);</code><li class="L1"><code class="language-php"></code><li class="L2"><code class="language-php"> /** 去除空格 创建数组 */</code><li class="L3"><code class="language-php"> $str = explode(";\n", $str);</code><li class="L4"><code class="language-php"></code><li class="L5"><code class="language-php"> foreach ($str as $v) </code><li class="L6"><code class="language-php"> {</code><li class="L7"><code class="language-php"> $v = trim($v);</code><li class="L8"><code class="language-php"></code><li class="L9"><code class="language-php"> if (empty($v)) </code><li class="L0"><code class="language-php"> {</code><li class="L1"><code class="language-php"> continue;</code><li class="L2"><code class="language-php"> } </code><li class="L3"><code class="language-php"> else </code><li class="L4"><code class="language-php"> {</code><li class="L5"><code class="language-php"> $this->sqlArr[] = $v;</code><li class="L6"><code class="language-php"> }</code><li class="L7"><code class="language-php"> }</code><li class="L8"><code class="language-php"> }</code><li class="L9"><code class="language-php"></code><li class="L0"><code class="language-php"> /**</code><li class="L1"><code class="language-php"> * 执行sql文件</code><li class="L2"><code class="language-php"> * </code><li class="L3"><code class="language-php"> * @return true 执行成功返回true</code><li class="L4"><code class="language-php"> */</code><li class="L5"><code class="language-php"> public function RunSql() </code><li class="L6"><code class="language-php"> {</code><li class="L7"><code class="language-php"> /** 开启事务 */</code><li class="L8"><code class="language-php"> if (mysql_query('BEGIN'))</code><li class="L9"><code class="language-php"> {</code><li class="L0"><code class="language-php"> foreach ($this->sqlArr as $k => $v)</code><li class="L1"><code class="language-php"> {</code><li class="L2"><code class="language-php"> if (!mysql_query($v)) </code><li class="L3"><code class="language-php"> {</code><li class="L4"><code class="language-php"> /** 回滚 */</code><li class="L5"><code class="language-php"> mysql_query('ROLLBACK');</code><li class="L6"><code class="language-php"></code><li class="L7"><code class="language-php"> exit("sql语句错误:第" . $k . "行" . mysql_error());</code><li class="L8"><code class="language-php"> }</code><li class="L9"><code class="language-php"> }</code><li class="L0"><code class="language-php"></code><li class="L1"><code class="language-php"> /** 提交事务 */</code><li class="L2"><code class="language-php"> mysql_query('COMMIT');</code><li class="L3"><code class="language-php"> return true;</code><li class="L4"><code class="language-php"> }</code><li class="L5"><code class="language-php"> else</code><li class="L6"><code class="language-php"> {</code><li class="L7"><code class="language-php"> exit('无法开启事务!');</code><li class="L8"><code class="language-php"> }</code><li class="L9"><code class="language-php"> }</code><li class="L0"><code class="language-php"></code><li class="L1"><code class="language-php">}</code><li class="L2"><code class="language-php"></code><li class="L3"><code class="language-php">// +------------------------------------------------------------------------------------------</code><li class="L4"><code class="language-php">// | End of ImportSql class</code><li class="L5"><code class="language-php">// +------------------------------------------------------------------------------------------</code><li class="L6"><code class="language-php"></code><li class="L7"><code class="language-php"></code><li class="L8"><code class="language-php">/**</code><li class="L9"><code class="language-php">* This is a example.</code><li class="L0"><code class="language-php">*/</code><li class="L1"><code class="language-php"></code><li class="L2"><code class="language-php">header("Content-type:text/html;charset=utf-8");</code><li class="L3"><code class="language-php"></code><li class="L4"><code class="language-php">$sql = new ReadSql("localhost", "root", "", "log_db");</code><li class="L5"><code class="language-php"></code><li class="L6"><code class="language-php">$rst = $sql->Import("./log_db.sql");</code><li class="L7"><code class="language-php"></code><li class="L8"><code class="language-php">if ($rst) </code><li class="L9"><code class="language-php">{</code><li class="L0"><code class="language-php"> echo "Success!";</code><li class="L1"><code class="language-php">}</code><li class="L2"><code class="language-php"></code><li class="L3"><code class="language-php">// +------------------------------------------------------------------------------------------</code><li class="L4"><code class="language-php">// | End of file ImportSql.php</code><li class="L5"><code class="language-php">// +------------------------------------------------------------------------------------------</code><li class="L6"><code class="language-php">// | Location: ./ImportSql.php</code><li class="L7"><code class="language-php">// +------------------------------------------------------------------------------------------</code>

wpsystem文件夹是windows应用文件夹;创建WpSystem文件夹是为了存储某些特定“Microsoft Store”应用程序的数据,因此建议不要删该文件夹,因为删除之后就无法使用指定的应用。

winreagent是在系统更新或升级的过程中创建的文件夹;该文件夹中通常包含临时文件,当更新或升级失败时,系统将通过还原先前创建的临时文件来回滚到执行更新或升级过程之前的版本。

baidunetdiskdownload是百度网盘默认下载文件的文件夹;百度网盘是百度推出的一项云存储服务,只要下载东西到百度网盘里,都会默认保存到这个文件夹中,并且可跨终端随时随地查看和分享。

“usmt.ppkg”是windows自带的系统还原功能的系统备份文件;Windows系统还原是在不需要重新安装操作系统,也不会破坏数据文件的前提下使系统回到原有的工作状态,PBR恢复功能的备份文件就是“usmt.ppkg”。

mobileEmuMaster是手机模拟大师的安装文件夹。手机模拟大师是PC电脑模拟运行安卓系统的免费模拟器程序,一款可以让用户在电脑上运行手机应用的软件,支持安装安卓系统中常见的apk执行文件,支持QQ、微信等生活常用应用,达到全面兼容的效果。

config是软件或者系统中的配置文件,不可以删除;该文件是在用户开机时对计算机进行初始化设置,也就是用户对系统的设置都由它来对计算机进行恢复,因此不能删除软件或者系统中的config配置文件,以免造成错误。

备份文件的扩展名通常是“.bak”;bak文件是一个备份文件,这类文件一般在'.bak前面加上应该有原来的扩展名,有的则是由原文件的后缀名和bak混合而成,在生成了某种类型的文件后,就会自动生成它的备份文件。

kml是谷歌公司创建的一种地标性文件格式;该文件用于记录某一地点或连续地点的时间、经度、纬度、海拔等地理信息数据,可以被“Google Earth”和“Google Maps”识别并显示。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3汉化版
中文版,非常好用

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能