欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何通過PHP安裝數(shù)據(jù)庫并使數(shù)據(jù)初始化

 更新時間:2024年03月25日 10:02:56   作者:下頁、再停留  
這篇文章主要介紹了如何通過PHP安裝數(shù)據(jù)庫并使數(shù)據(jù)初始化,其實原理就是通過構(gòu)建原生SQL來創(chuàng)建并初始化數(shù)據(jù)庫,連接數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫、使用數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)表、新增數(shù)據(jù)、關(guān)閉連接,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧

一、前言

有些CMS在部署的時候不用使用數(shù)據(jù)庫工具,而是通過數(shù)據(jù)庫安裝頁面就能完成數(shù)據(jù)庫創(chuàng)建和數(shù)據(jù)填充,所以自己就想動手做一個這樣的功能,這樣在給別人安裝系統(tǒng)的時候就不用再那么麻煩了,直接一鍵安裝解決了。

二、效果圖

輸入數(shù)據(jù)庫相關(guān)信息后,點擊安裝并有不同的提示。

三、核心代碼

原理:其實就是通過構(gòu)建原生SQL來創(chuàng)建并初始化數(shù)據(jù)庫,連接數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫、使用數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)表、新增數(shù)據(jù)、關(guān)閉連接。

創(chuàng)建前首先要準備以下內(nèi)容:

① 準備數(shù)據(jù)庫的基本信息:數(shù)據(jù)庫地址、數(shù)據(jù)庫名稱、用戶名、密碼

② 要創(chuàng)建的表及表結(jié)構(gòu)

③ 要初始化的數(shù)據(jù)

public function createDb($data)
{
	$host = $data['mysqlHostname'];
	$user = $data['mysqlUsername'];
	$pwd = $data['mysqlPassword'];
	$db = $data['mysqlDatabase'];
	// 1.連接數(shù)據(jù)庫
	$conn = mysqli_connect($host, $user, $pwd);
	if (!$conn) {
		// echo "1/7 數(shù)據(jù)庫連接失敗<br/><br/>";
		return '1/7 數(shù)據(jù)庫連接失敗';
	}else{
		// echo "1/7 數(shù)據(jù)庫連接完成<br/><br/>";
	}
	// 2.創(chuàng)建數(shù)據(jù)庫
	// 先刪除再創(chuàng)建
	$sql = "DROP DATABASE {$db}";
	if (mysqli_query($conn, $sql)) {
	 // echo "2/7 數(shù)據(jù)庫刪除完成<br/>";
	}else{
		// echo "2/7". mysqli_error($conn)."<br/><br/>";
		// return "2/7 ".mysqli_error($conn);
	}
	// 創(chuàng)建
	$sql = "create database {$db}";
	if (mysqli_query($conn, $sql)) {
	 // echo "2/7 數(shù)據(jù)庫創(chuàng)建完成<br/>";
	}else{
		// echo "2/7". mysqli_error($conn)."<br/><br/>";
		return "2/7 ".mysqli_error($conn);
	}
	// 3.使用數(shù)據(jù)表
	// echo "3/7 選擇數(shù)據(jù)庫開始...<br/>";
	$sql = "use {$db}";
	mysqli_query($conn,$sql);
	// echo "3/7 選擇數(shù)據(jù)庫完成<br/><br/>";
	// 4.檢查數(shù)據(jù)庫是否存在
	// echo "4/7 檢測數(shù)據(jù)庫開始...<br/>";
	$sql = "DROP TABLE IF EXISTS `dic_s_use`";
	mysqli_query($conn,$sql);
	// echo "4/7 檢測數(shù)據(jù)庫完成<br/><br/>";
	// 5.創(chuàng)建數(shù)據(jù)表  批量創(chuàng)建
	// echo "5/7 創(chuàng)建數(shù)據(jù)表開始...<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 '機構(gòu)/醫(yī)院代碼',
		  `status` enum('0','1') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '1' COMMENT '狀態(tài):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 數(shù)據(jù)表[dic_s_use]創(chuàng)建成功<br/>";
	}else{
		// echo "5/7 數(shù)據(jù)表[dic_s_use]創(chuàng)建失敗".mysqli_error($conn)."<br/>";
		return "5/7 數(shù)據(jù)表[dic_s_use]創(chuàng)建失敗".mysqli_error($conn);
	}
	// 6.添加數(shù)據(jù)
	// echo "6/7 添加數(shù)據(jù)開始...<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 數(shù)據(jù)表[dic_s_use]數(shù)據(jù)導(dǎo)入成功<br/>";
	}else{
		// echo "6/7 數(shù)據(jù)表[dic_s_use]數(shù)據(jù)導(dǎo)入失敗".mysqli_error($conn)."<br/>";
		return "6/7 數(shù)據(jù)表[dic_s_use]數(shù)據(jù)導(dǎo)入失敗".mysqli_error($conn);
	}
	// 7.關(guān)閉連接
	// echo "7/7 數(shù)據(jù)庫關(guān)閉連接開始...<br/>";
	mysqli_close($conn);
	// echo "7/7 數(shù)據(jù)庫關(guān)閉連接完成<br/><br/><br/>";
	return '200';
	// echo "安裝數(shù)據(jù)庫完成<br/>";
}

到此這篇關(guān)于通過PHP安裝數(shù)據(jù)庫并使數(shù)據(jù)初始化的文章就介紹到這了,更多相關(guān)PHP數(shù)據(jù)初始化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論