【小白专用】php执行sql脚本 更新23.12.10

news2024/11/26 16:53:38

可以使用 PHP 的 `mysqli` 扩展来执行 SQL 脚本。具体步骤如下:

  1. 连接到数据库;
  2. 打开 SQL 脚本文件并读取其中的 SQL 语句;
  3. 逐条执行 SQL 语句;
  4. 关闭 SQL 脚本文件;
  5. 关闭数据库连接。

以下是通过 mysqli 执行 SQL 脚本的示例代码:

<?php
$servername = "localhost";
$username = "root";
$password = "a56";
$dbname = "msldbalicrm";
 
// 连接数据库
$conn = mysqli_connect($servername, $username, $password, $dbname);
 
// 检查数据库连接是否成功
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
 
// 打开 SQL 脚本文件,读取其中 SQL 语句
$sql_file = fopen("mysql.sql", "r");
$sql = fread($sql_file, filesize("mysql.sql"));
fclose($sql_file);
 
// 执行 SQL 语句
if (mysqli_multi_query($conn, $sql)) {
    // 输出执行结果
    do {
        if ($result = mysqli_store_result($conn)) {
            mysqli_free_result($result);
        }
    } while (mysqli_next_result($conn));
 
    echo "SQL script executed successfully";
} else {
    echo "Error executing SQL script: " . mysqli_error($conn);
}
 
// 关闭数据库连接
mysqli_close($conn);
?>

在上面的代码中,我们通过 `fopen()` 函数打开 SQL 脚本文件,使用 `fread()` 函数读取其中 SQL 语句,最后使用 `fclose()` 函数关闭 SQL 脚本文件。然后使用 `mysqli_multi_query()` 函数执行 SQL 语句,如果执行成功,使用 `mysqli_store_result()` 函数继续处理结果集。

需要注意的是,如果 SQL 脚本文件中包含多条 SQL 语句,则可能会因为语句之间的冲突而导致执行失败。在这种情况下,可以将 SQL 语句按照顺序分开执行,以避免执行冲突。
 

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for cms_ad
-- ----------------------------
DROP TABLE IF EXISTS `cms_ad`;
CREATE TABLE `cms_ad` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT '',
  `pic` varchar(255) DEFAULT '',
  `url` varchar(255) DEFAULT '',
  `ordnum` int(10) DEFAULT '0',
  `isshow` smallint(1) DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

-- ----------------------------
-- Records of cms_ad
-- ----------------------------

-- ----------------------------
-- Table structure for cms_admin
-- ----------------------------
DROP TABLE IF EXISTS `cms_admin`;
CREATE TABLE `cms_admin` (
  `adminid` int(10) NOT NULL AUTO_INCREMENT,
  `adminname` varchar(50) DEFAULT '',
  `adminpass` varchar(50) DEFAULT '',
  `penname` varchar(20) DEFAULT '',
  `pid` int(10) DEFAULT '0',
  `logintimes` int(10) DEFAULT '0',
  `lastlogindate` bigint(10) DEFAULT '0',
  `lastloginip` varchar(50) DEFAULT '',
  `readonly` smallint(1) DEFAULT '0',
  `islock` smallint(1) DEFAULT '0',
  PRIMARY KEY (`adminid`),
  KEY `adminname` (`adminname`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

-- ----------------------------
-- Records of cms_admin
-- ----------------------------

-- ----------------------------
-- Table structure for cms_admin_log
-- ----------------------------
DROP TABLE IF EXISTS `cms_admin_log`;
CREATE TABLE `cms_admin_log` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `title` varchar(50) DEFAULT '',
  `url` varchar(255) DEFAULT '',
  `msg` varchar(255) DEFAULT '',
  `ip` varchar(50) DEFAULT '',
  `createdate` bigint(10) DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

-- ----------------------------
-- Records of cms_admin_log
-- ----------------------------

-- ----------------------------
-- Table structure for cms_admin_login_log
-- ----------------------------
DROP TABLE IF EXISTS `cms_admin_login_log`;
CREATE TABLE `cms_admin_login_log` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `loginname` varchar(50) DEFAULT '',
  `loginip` varchar(50) DEFAULT '',
  `logindate` bigint(10) DEFAULT '0',
  `loginmsg` varchar(255) DEFAULT '',
  `loginstate` smallint(1) DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

-- ----------------------------
-- Records of cms_admin_login_log
-- ----------------------------

-- ----------------------------
-- Table structure for cms_admin_menu
-- ----------------------------
DROP TABLE IF EXISTS `cms_admin_menu`;
CREATE TABLE `cms_admin_menu` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `title` varchar(50) DEFAULT '',
  `cname` varchar(50) DEFAULT '',
  `aname` varchar(50) DEFAULT '',
  `dname` varchar(255) DEFAULT '',
  `icon` varchar(50) DEFAULT '',
  `followid` int(10) DEFAULT '0',
  `ordnum` int(10) DEFAULT '0',
  `islock` smallint(1) DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;

-- ----------------------------
-- Records of cms_admin_menu
-- ----------------------------
INSERT INTO `cms_admin_menu` VALUES ('1', '网站', '', '', '', 'ui-icon-setting', '0', '1', '1');
INSERT INTO `cms_admin_menu` VALUES ('2', '商品', '', '', '', 'ui-icon-shopping', '0', '3', '1');
INSERT INTO `cms_admin_menu` VALUES ('3', '订单', '', '', '', 'ui-icon-filter', '0', '5', '1');
INSERT INTO `cms_admin_menu` VALUES ('4', '报表', '', '', '', 'ui-icon-barchart', '0', '7', '1');
INSERT INTO `cms_admin_menu` VALUES ('5', '应用', '', '', '', 'ui-icon-appstore', '0', '9', '1');
INSERT INTO `cms_admin_menu` VALUES ('6', '系统', '', '', '', 'ui-icon-windows', '0', '11', '1');
INSERT INTO `cms_admin_menu` VALUES ('7', '网站设置', 'config', 'index', '', '', '1', '1', '1');
INSERT INTO `cms_admin_menu` VALUES ('8', '接口设置', 'configapi', 'index', '', '', '1', '3', '1');
INSERT INTO `cms_admin_menu` VALUES ('9', '部门管理', 'adminpart', 'index', '', '', '1', '7', '1');
INSERT INTO `cms_admin_menu` VALUES ('10', '后台用户', 'admin', 'index', '', '', '1', '9', '1');
INSERT INTO `cms_admin_menu` VALUES ('11', '商品分类', 'goodsclass', 'index', '', '', '2', '1', '1');
INSERT INTO `cms_admin_menu` VALUES ('12', '商品管理', 'goods', 'index', '', '', '2', '3', '1');
INSERT INTO `cms_admin_menu` VALUES ('13', '回收站', 'goodsrecycle', 'index', '', '', '2', '5', '1');
INSERT INTO `cms_admin_menu` VALUES ('14', '订单管理', 'order', 'index', '', '', '3', '1', '1');
INSERT INTO `cms_admin_menu` VALUES ('15', '回收站', 'orderrecycle', 'index', '', '', '3', '3', '1');
INSERT INTO `cms_admin_menu` VALUES ('16', '收入统计', 'count', 'index', '', '', '4', '1', '1');
INSERT INTO `cms_admin_menu` VALUES ('17', '订单统计', 'countorder', 'index', '', '', '4', '3', '1');
INSERT INTO `cms_admin_menu` VALUES ('18', '渠道统计', 'countfrom', 'index', '', '', '4', '5', '1');
INSERT INTO `cms_admin_menu` VALUES ('19', '模板管理', 'theme', 'index', '', '', '5', '1', '1');
INSERT INTO `cms_admin_menu` VALUES ('20', '插件管理', 'plug', 'index', '', '', '5', '3', '1');
INSERT INTO `cms_admin_menu` VALUES ('21', '设置分组', 'configgroup', 'index', '', '', '6', '1', '1');
INSERT INTO `cms_admin_menu` VALUES ('22', '后台菜单', 'adminmenu', 'index', '', '', '6', '3', '1');
INSERT INTO `cms_admin_menu` VALUES ('23', '管理日志', 'log', 'index', '', '', '6', '5', '1');
INSERT INTO `cms_admin_menu` VALUES ('24', '错误日志', 'logerror', 'index', '', '', '6', '7', '1');
INSERT INTO `cms_admin_menu` VALUES ('25', '缓存管理', 'cache', 'index', '', '', '6', '9', '1');
INSERT INTO `cms_admin_menu` VALUES ('26', '轮播图片', 'ad', 'index', '', '', '1', '5', '1');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1301018.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python 画条形图(柱状图)

目录 前言 基础介绍 月度开支的条形图 前言 条形图&#xff08;bar chart&#xff09;&#xff0c;也称为柱状图&#xff0c;是一种以长方形的长度为变量的统计图表&#xff0c;长方形的长度与它所对应的变量数值呈一定比例。 当使用 Python 画条形图时&#xff0c;通常会使…

STM32 标准外设SPL库、硬件抽象层HAL库、低层LL库区别?

1、STM32 之一 HAL库、标准外设库、LL库_ZCShou的博客-CSDN博客_ll库&#xff08;仔细阅读&#xff09; 2、STM32标准外设库、 HAL库、LL库 - King先生 - 博客园 3、STM32 之 HAL库_戈 扬的博客&#xff08;仔细阅读&#xff09; 4、STM32 LL 为什么比 HAL 高效&#xff1…

通信:mqtt学习网址

看这个网址&#xff1a;讲的很详细&#xff0c;后面补实战例子 第一章 - MQTT介绍 MQTT协议中文版 (gitbooks.io)https://mcxiaoke.gitbooks.io/mqtt-cn/content/mqtt/01-Introduction.html

【Matlab算法】多维函数求解的基本概念

多维函数求解的基本概念 多维函数最优化问题最优化算法最优化问题的类型最优化算法的分类常用的多维函数求解方法结语 多维函数 多维函数是指定义在 R n \mathbb{R}^n Rn 上的函数&#xff0c;其中 n n n 是函数的维数。例如&#xff0c; f ( x , y ) x 2 y 2 f(x, y) x^…

DL Homework 10

习题6-1P 推导RNN反向传播算法BPTT. 习题6-2 推导公式(6.40)和公式(6.41)中的梯度 习题6-3 当使用公式(6.50)作为循环神经网络的状态更新公式时&#xff0c; 分析其可能存在梯度爆炸的原因并给出解决方法&#xff0e; 当然&#xff0c;因为我数学比较菜&#xff0c;我看了好半…

Vue3:表格单元格内容由:图标+具体内容 构成

一、背景 在Vue3项目中&#xff0c;想让单元格的内容是由 &#xff1a;图标具体内容组成的&#xff0c;类似以下效果&#xff1a; 二、图标 Element-Plus 可以在Element-Plus里面找是否有符合需求的图标iconfont 如果Element-Plus里面没有符合需求的&#xff0c;也可以在这…

掌握iText:轻松处理PDF文档-基础篇

关于iText iText是一个强大的PDF处理库&#xff0c;可以用于创建、读取和操作PDF文件。它支持PDF表单、加密和签署等操作&#xff0c;同时支持多种字体和编码。maven的中央仓库中的最新版本是5.X&#xff0c;且iText5不是完全免费的&#xff0c;但是基础能力是免费使用的&…

MyBatis 四大核心组件之 StatementHandler 源码解析

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

【设计模式--创建型--建造者模式】

建造者模式 建造者模式概述结构结果优缺点使用场景 将上述案例改为链式调用结果 建造者模式 概述 将一个复杂对象的构建与表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 分离了部件的构建&#xff08;由Builder来负责&#xff09;和装配&#xff08;由Direct…

【HarmonyOS开发】拖拽动画的实现

动画的原理是在一个时间段内&#xff0c;多次改变UI外观&#xff0c;由于人眼会产生视觉暂留&#xff0c;所以最终看到的就是一个“连续”的动画。UI的一次改变称为一个动画帧&#xff0c;对应一次屏幕刷新&#xff0c;而决定动画流畅度的一个重要指标就是帧率FPS&#xff08;F…

[ 蓝桥杯Web真题 ]-冬奥大抽奖

目录 介绍 准备 目标 规定 思路 知识补充 解法参考 介绍 蓝桥云课庆冬奥需要举行一次抽奖活动&#xff0c;我们一起做一个页面提供给云课冬奥抽奖活动使用。 准备 开始答题前&#xff0c;需要先打开本题的项目代码文件夹&#xff0c;目录结构如下&#xff1a; ├──…

Qt设置类似于qq登录页面

头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QWindow> #include <QIcon> #include <QLabel> #include <QMovie> #include <QLineEdit> #include <QPushButton>QT_BEGIN_NAMESPACE namespace Ui { class…

python:五种算法(DBO、WOA、GWO、PSO、GA)求解23个测试函数(python代码)

一、五种算法简介 1、蜣螂优化算法DBO 2、鲸鱼优化算法WOA 3、灰狼优化算法GWO 4、粒子群优化算法PSO 5、遗传算法GA 二、5种算法求解23个函数 &#xff08;1&#xff09;23个函数简介 参考文献&#xff1a; [1] Yao X, Liu Y, Lin G M. Evolutionary programming made…

RF射频干扰被动型红外传感器误判分析及整改事例

1.1 什么是红外传感 测量系统是以红外线为介质&#xff0c;探测可分成为光子和热探测器。 简洁原理就是利用产生的辐射与物质相互作用后呈现出来的物理效应就是它的基本原理。 1.2 红外按方式分类 &#xff08;1&#xff09;被动型红外&#xff1a;本身不会向外界辐射任何能量…

红队攻防实战之phpmyadmin-RCE集锦

世界上只有一种真正的英雄主义&#xff0c;那就是认清了生活的真相后&#xff0c;仍然热爱她 phpmyadmin远程代码执行漏洞 访问该页面&#xff0c;存在弱口令 爆破进入后发现该php版本以及phpmyadmin版本信息&#xff0c;该版本存在远程命令执行漏洞。 使用exp利用此漏洞&am…

建立个人学习观|地铁上的自习室

作者&#xff1a;向知 如果大家有机会来北京&#xff0c;可以来看看工作日早上八九点钟&#xff0c;15 号线从那座叫“顺义”的城市通向“望京”的地铁&#xff0c;你在那上面&#xff0c;能看到明明白白的&#xff0c;人们奔向梦想的模样。 一、地铁上的自习室 我在来北京之前…

RT-Thread学习笔记(六):RT_Thread系统死机日志定位

RT_Thread系统死机日志定位 一、RT_Thread系统死机日志定位二、Cortex-M3 / M4架构知识2.1 Cortex-M3 / M4架构概述2.2 寄存器用途 三、排查步骤 一、RT_Thread系统死机日志定位 RT-Thread 系统发生hardfault死机时&#xff0c;系统默认会打印出一系列寄存器状态帮助用户定位死…

[GPT]Andrej Karpathy微软Build大会GPT演讲(上)--GPT如何训练

前言 OpenAI的创始人之一,大神Andrej Karpthy刚在微软Build 2023开发者大会上做了专题演讲:State of GPT(GPT的现状)。 他详细介绍了如何从GPT基础模型一直训练出ChatGPT这样的助手模型(assistant model)。作者不曾在其他公开视频里看过类似的内容,这或许是OpenAI官方…

大数据技术7:基于StarRocks统一OALP实时数仓

前言&#xff1a; 大家对StarRocks 的了解可能不及 ClickHouse或者是远不及 ClickHouse 。但是大家可能听说过 Doris &#xff0c;而 StarRocks 实际上原名叫做 Doris DB &#xff0c;他相当于是一个加强版的也就是一个 Doris ,也就是说 Doris 所有的功能 StarRocks 都是有的&a…

2023/12/10总结

学习 WebSocket 一共四种方法&#xff0c;传递数据是要通过JSON格式传递 前端 onopen 在连接时 onmessage 收到消息时 通常携带参数 event &#xff0c;event.data 是消息 onerror 发生错误时 onclose 关闭连接时 发送消息 需要安装 vue-native-websocket 包 pnpm i vue-n…