如何通过PHP安装数据库并使数据初始化
一、前言
有些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数据初始化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
这篇文章主要介绍了Ubuntu下Apache+PHP+MySQL环境搭建攻略,文中采用的是LoadModule加载模块的方式将PHP与Apache服务器程序连接,需要的朋友可以参考下2016-03-03CodeIgniter配置之autoload.php自动加载用法分析
这篇文章主要介绍了CodeIgniter配置之autoload.php自动加载用法,结合实例形式较为详细的分析了CodeIgniter自动加载机制的原理与使用方法,需要的朋友可以参考下2016-01-01Yii使用EasyWechat实现小程序获取用户的openID的方法
这篇文章主要介绍了Yii使用EasyWechat实现小程序获取用户的openID的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-04-04
最新评论