-
如何通过PHP安装数据库并使数据初始化
这篇文章主要介绍了如何通过PHP安装数据库并使数据初始化,其实原理就是通过构建原生SQL来创建并初始化数据库,连接数据库、创建数据库、使用数据库、创建数据表、新增数据、关闭连接,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
一、前言
有些CMS在部署的时候不用使用数据库工具,而是通过数据库安装页面就能完成数据库创建和数据填充,所以自己就想动手做一个这样的功能,这样在给别人安装系统的时候就不用再那么麻烦了,直接一键安装解决了。
二、效果图
输入数据库相关信息后,点击安装并有不同的提示。
三、核心代码
原理:其实就是通过构建原生SQL来创建并初始化数据库,连接数据库、创建数据库、使用数据库、创建数据表、新增数据、关闭连接。
创建前首先要准备以下内容:
① 准备数据库的基本信息:数据库地址、数据库名称、用户名、密码
② 要创建的表及表结构
③ 要初始化的数据
public function createDb($data)
{
$host = $data['mysqlHostname'];
$user = $data['mysqlUsername'];
$pwd = $data['mysqlPassword'];
$db = $data['mysqlDatabase'];
// 1.连接数据库
$conn = mysqli_connect($host, $user, $pwd);
if (!$conn) {
// echo "1/7 数据库连接失败<br/><br/>";
return '1/7 数据库连接失败';
}else{
// echo "1/7 数据库连接完成<br/><br/>";
}
// 2.创建数据库
// 先删除再创建
$sql = "DROP DATABASE {$db}";
if (mysqli_query($conn, $sql)) {
// echo "2/7 数据库删除完成<br/>";
}else{
// echo "2/7". mysqli_error($conn)."<br/><br/>";
// return "2/7 ".mysqli_error($conn);
}
// 创建
$sql = "create database {$db}";
if (mysqli_query($conn, $sql)) {
// echo "2/7 数据库创建完成<br/>";
}else{
// echo "2/7". mysqli_error($conn)."<br/><br/>";
return "2/7 ".mysqli_error($conn);
}
// 3.使用数据表
// echo "3/7 选择数据库开始...<br/>";
$sql = "use {$db}";
mysqli_query($conn,$sql);
// echo "3/7 选择数据库完成<br/><br/>";
// 4.检查数据库是否存在
// echo "4/7 检测数据库开始...<br/>";
$sql = "DROP TABLE IF EXISTS `dic_s_use`";
mysqli_query($conn,$sql);
// echo "4/7 检测数据库完成<br/><br/>";
// 5.创建数据表 批量创建
// echo "5/7 创建数据表开始...<br/>";
// dic_s_use 表
$sql = "CREATE TABLE `dic_s_use` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
`s_use` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '特殊用法',
`hospital_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '机构/医院代码',
`status` enum('0','1') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '状态:1=正常,0=禁用',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '特殊用法' ROW_FORMAT = Dynamic";
if (mysqli_query($conn,$sql)) {
// echo "5/7 数据表[dic_s_use]创建成功<br/>";
}else{
// echo "5/7 数据表[dic_s_use]创建失败".mysqli_error($conn)."<br/>";
return "5/7 数据表[dic_s_use]创建失败".mysqli_error($conn);
}
// 6.添加数据
// echo "6/7 添加数据开始...<br/>";
// dic_s_use 表
$insert_use = "(null, '另煎', 'ceshi', '1'),
(null, '先煎', 'ceshi', '1'),
(null, '后下', 'ceshi', '1'),
(null, '包煎', 'ceshi', '1'),
(null, '烊化', 'ceshi', '1'),
(null, '冲服', 'ceshi', '1'),
(null, '煎服', 'ceshi', '1')";
$sql = "INSERT INTO `dic_s_use` VALUES {$insert_use}";
if (mysqli_query($conn,$sql)) {
// echo "6/7 数据表[dic_s_use]数据导入成功<br/>";
}else{
// echo "6/7 数据表[dic_s_use]数据导入失败".mysqli_error($conn)."<br/>";
return "6/7 数据表[dic_s_use]数据导入失败".mysqli_error($conn);
}
// 7.关闭连接
// echo "7/7 数据库关闭连接开始...<br/>";
mysqli_close($conn);
// echo "7/7 数据库关闭连接完成<br/><br/><br/>";
return '200';
// echo "安装数据库完成<br/>";
}
到此这篇关于通过PHP安装数据库并使数据初始化的文章就介绍到这了,更多相关PHP数据初始化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持
原文链接:https://blog.csdn.net/qq_25285531/article/details/136941437
栏目列表
最新更新
vbs能调用的系统对象小结
vbscript网页模拟登录效果代码
VBScript 根据IE窗口的标题输出ESC
杀死指定进程名称的小VBS
通过vbs修改以点结尾的文件的属性为隐藏
查询电脑开关机时间的vbs代码
VBA中的Timer函数用法
ComboBox 控件的用法教程
在windows 64位操作系统上运行32位的vbscri
无法执行vbs脚本中遇到的问题及解决方案
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比