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

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

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

一、前言

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

二、效果圖

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

三、核心代碼

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

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

① 準(zhǔn)備數(shù)據(jù)庫(kù)的基本信息:數(shù)據(jù)庫(kù)地址、數(shù)據(jù)庫(kù)名稱(chēng)、用戶(hù)名、密碼

② 要?jiǎng)?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ù)庫(kù)
	$conn = mysqli_connect($host, $user, $pwd);
	if (!$conn) {
		// echo "1/7 數(shù)據(jù)庫(kù)連接失敗<br/><br/>";
		return '1/7 數(shù)據(jù)庫(kù)連接失敗';
	}else{
		// echo "1/7 數(shù)據(jù)庫(kù)連接完成<br/><br/>";
	}
	// 2.創(chuàng)建數(shù)據(jù)庫(kù)
	// 先刪除再創(chuàng)建
	$sql = "DROP DATABASE {$db}";
	if (mysqli_query($conn, $sql)) {
	 // echo "2/7 數(shù)據(jù)庫(kù)刪除完成<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ù)庫(kù)創(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ù)庫(kù)開(kāi)始...<br/>";
	$sql = "use {$db}";
	mysqli_query($conn,$sql);
	// echo "3/7 選擇數(shù)據(jù)庫(kù)完成<br/><br/>";
	// 4.檢查數(shù)據(jù)庫(kù)是否存在
	// echo "4/7 檢測(cè)數(shù)據(jù)庫(kù)開(kāi)始...<br/>";
	$sql = "DROP TABLE IF EXISTS `dic_s_use`";
	mysqli_query($conn,$sql);
	// echo "4/7 檢測(cè)數(shù)據(jù)庫(kù)完成<br/><br/>";
	// 5.創(chuàng)建數(shù)據(jù)表  批量創(chuàng)建
	// echo "5/7 創(chuàng)建數(shù)據(jù)表開(kāi)始...<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 '機(jī)構(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ù)開(kāi)始...<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ù)庫(kù)關(guān)閉連接開(kāi)始...<br/>";
	mysqli_close($conn);
	// echo "7/7 數(shù)據(jù)庫(kù)關(guān)閉連接完成<br/><br/><br/>";
	return '200';
	// echo "安裝數(shù)據(jù)庫(kù)完成<br/>";
}

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

相關(guān)文章

最新評(píng)論