目录
- 一、前言
- 二、效果图
- 三、核心代码
一、前言
有些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数据初始化内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!
您可能感兴趣的文章:
- 总结PHP中初始化空数组的最佳方法
- PHP cURL初始化和执行方法入门级代码
- php初始化对象和析构函数的简单实例
- php 静态变量的初始化
- 完美解决phpstudy安装后mysql无法启动(无需删除原数据库,无需更改任何配置,无需更改端口)直接共存
- PHP中安装使用mongodb数据库
- phpnow重新安装mysql数据库的方法
- PHP开发环境配置(MySQL数据库安装图文教程)