如何通过PHP安装数据库并使数据初始化

一、前言

有些CMS在部署的时候不用使用数据库工具,而是通过数据库安装页面就能完成数据库创建和数据填充,所以自己就想动手做一个这样的功能,这样在给别人安装系统的时候就不用再那么麻烦了,直接一键安装解决了。

二、效果图

输入数据库相关信息后,点击安装并有不同的提示。

如何通过PHP安装数据库并使数据初始化

三、核心代码

原理:其实就是通过构建原生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数据初始化内容请搜索恩蓝小号以前的文章或继续浏览下面的相关文章希望大家以后多多支持恩蓝小号!

原创文章,作者:THLVU,如若转载,请注明出处:https://www.wangzhanshi.com/n/716.html

(0)
THLVU的头像THLVU
上一篇 2024年12月17日 17:53:17
下一篇 2024年12月17日 17:53:19

相关推荐

  • PHP7中的伪随机数产生器CSPRNG怎么用

    CSPRNG 即伪随机数产生器,作为一个工具,常用的算法有 MD5 或者 SHA1 等。 在 PHP7 中,引入了以下两个 CSPRNG 函数,通过跨平台方式生成加密安全的整数和字…

    php 2025年1月1日
  • PHP7中session_start 需要注意的事项

    请看代码 //PHP7中session_start 使用注意事项, session_start([ 'cache_limiter' => 'pr…

    php 2025年1月1日
  • php7性能提升原因

    PHP7性能提升原因总结: 1、存储变量的结构体变小,尽量使结构体里成员共用内存空间,减少引用,这样内存占用降低,变量的操作速度得到提升。 2、字符串结构体的改变,字符串信息和数据…

    php 2025年1月1日
  • php7使用xhprof分析的方法

    前置构建 docker 虚拟测试环境 docker run -it -p 80:80 -v /Users/xxx/Des…

    2025年1月1日
  • PHP7中常量可以是数组的示例分析

    常量可以是数组 define('NAMES', [     'first' &n…

    php 2025年1月1日
  • 怎么在Ubuntu16.04环境中安装PHP7

    由于在Ubuntu16.04上,默认的PHP版本就是7.x。由于我们要使用Apache2.4+PHP,所以安装如下模块即可直接解析PHP。 sudo apt-get&nb…

    php 2025年1月1日
  • PHP8中的JIT是什么

    JIT 是一种编译器策略,它将代码表述为一种中间状态,在运行时将其转换为依赖于体系结构的机器码,并即时执行。在 PHP 中,这意味着 JIT 将为 Zend VM 生成的指令视为中…

    2025年1月2日
  • php7中怎么安装yaf扩展

    php7 yaf扩展的安装方法:1、下载yaf扩展库源码安装包;2、下载yaf扩展库源码安装包;3、解压yaf扩展yaf包;4、生成编译configure配置文件;5、执行配置文件…

    2025年1月1日
  • PHP7性能提升原因有哪些

    PHP7性能提升原因总结: 1、存储变量的结构体变小,尽量使结构体里成员共用内存空间,减少引用,这样内存占用降低,变量的操作速度得到提升。 2、字符串结构体的改变,字符串信息和数据…

    php 2025年1月1日
  • php7如何安装mongodb扩展

    php的框架有哪些 php的框架:1、Laravel,Laravel是一款免费并且开源的PHP应用框架。2、Phalcon,Phalcon是运行速度最快的一个PHP框架。3、Sym…

    php 2025年1月1日

发表回复

登录后才能评论