當前位置:首頁 » 操作系統 » 網站鏈接資料庫

網站鏈接資料庫

發布時間: 2023-03-14 23:24:00

⑴ 如如何將網頁連接到資料庫

一、要實現用戶輸入,肯定前台要是一個網頁,使用jsp,先建一個jsp網頁。

⑵ 網站和資料庫怎麼連接

找到網站根目錄下的Web.config文件,在 <configuration> </configuration>標簽之間加入以下代碼,
<appSettings>
<add key="ConnectionString" value="server=資料庫地址;database=資料庫名;uid=用戶名;pwd=資料庫密碼" />
</appSettings>
,就可以連接到資料庫了。

php網站怎麼連接到資料庫

常規方式

常規方式就是按部就班的讀取文件了。其餘的話和上述方案一致。

// 讀取配置文件內容
$handle = fopen("filepath", "r"); $content = fread($handle, filesize("filepath"));123

PHP解析XML

上述兩種讀取文件,其實都是為了PHP解析XML來做准備的。關於PHP解析XML的方式的博客有很多。方式也有很多,像simplexml,XMLReader,DOM啦等等。但是對於比較小型的xml配置文件,simplexml就足夠了。

配置文件

<?xml version="1.0" encoding="UTF-8" ?><mysql>
<!-- 為防止出現意外,請按照此標准順序書寫.其實也無所謂了 -->
<host>localhost</host>
<user>root</user>
<password>123456</password>
<db>test</db>
<port>3306</port></mysql>12345678910

解析

<?php/**
* 作為解析XML配置文件必備工具
*/class XMLUtil {
public static $dbconfigpath = "./db.config.xml"; public static function getDBConfiguration() {
$dbconfig = array (); try { // 讀取配置文件內容
$handle = fopen(self::$dbconfigpath, "r"); $content = fread($handle, filesize(self::$dbconfigpath)); // 獲取xml文檔根節點,進而獲取相關的資料庫信息
$mysql = simplexml_load_string($content); // 將獲取到的xml節點信息賦值給關聯數組,方便接下來的方法調用
$dbconfig['host'] = $mysql->host; $dbconfig['user'] = $mysql->user; $dbconfig['password'] = $mysql->password; $dbconfig['db'] = $mysql->db; $dbconfig['port'] = $mysql->port; // 將配置信息以關聯數組的形式返回
return $dbconfig;
} catch ( Exception $e ) { throw new RuntimeException ( "<mark>讀取資料庫配置文件信息出錯!</mark><br />" );
} return $dbconfig;
}
}

資料庫連接池

對於PHP程序而言,優化永無止境。而資料庫連接池就在一定程度上起到了優化的作用。其使得對用戶的每一個請求而言,無需每次都像資料庫申請鏈接資源。而是通過已存在的資料庫連接池中的鏈接來返回,從時間上,效率上,都是一個大大的提升。

於是,這里簡單的模擬了一下資料庫連接池的實現。核心在於維護一個「池」。

從池子中取,用畢,歸還給池子。

<?php/**x
* PHP中的資料庫 工具類設計
* 郭璞
* 2016年12月23日
*
**/class DbHelper { private $dbconfig; private $dbpool; public $poolsize; public function __construct($poolsize = 20) { if (! file_exists ( "./utils.php" )) { throw new RuntimeException ( "<mark>utils.php文件丟失,無法進行配置文件的初始化操作!</mark><br />" );
}else {
require './utils.php';
} // 初始化 配置文件信息
$this->dbconfig = XMLUtil::getDBConfiguration (); // 准備好資料庫連接池「偽隊列」
$this->poolsize = $poolsize;
$this->dbpool = array (); for($index = 1; $index <= $this->poolsize; $index ++) {
$conn = mysqli_connect ( $this->dbconfig ['host'], $this->dbconfig ['user'], $this->dbconfig ['password'], $this->dbconfig ['db'] ) or die ( "<mark>連接資料庫失敗!</mark><br />" );
array_push ( $this->dbpool, $conn );
}
} /**
* 從資料庫連接池中獲取一個資料庫鏈接資源
*
* @throws ErrorException
* @return mixed
*/
public function getConn() { if (count ( $this->dbpool ) <= 0) { throw new ErrorException ( "<mark>資料庫連接池中已無鏈接資源,請稍後重試!</mark>" );
} else { return array_pop ( $this->dbpool );
}
} /**
* 將用完的資料庫鏈接資源放回到資料庫連接池
*
* @param unknown $conn
* @throws ErrorException
*/
public function release($conn) { if (count ( $this->dbpool ) >= $this->poolsize) { throw new ErrorException ( "<mark>資料庫連接池已滿</mark><br />" );
} else {
array_push ( $this->dbpool, $conn );
}
}
}

⑷ 網站和資料庫怎麼進行鏈接呢

網站鏈接不到資料庫分很多情況?
1 你網站伺服器和資料庫伺服器是否可以正常ping通(假設你是分機部署的)
2 假設可以ping通,查看防火牆是否允許資料庫指定埠的鏈接(win平台上直接關閉防火牆或則配置准入;類unix平台上直接修改iptab來控制准入,比如添加一條entry 允許在1521(oracle) 1442(ms sqlserver)上的接入操作)
3 查看資料庫是否正常開啟.(win上直接查看服務,類unix平台上可以使用 ps -ef|grep 關鍵字 來查看指定進程是否開啟,oracle情況下 還需要監聽tnslsnr是否開啟)

排除以上問題,那就找找網站的問題
1 網站最近是否升級,比如更換了資料庫的驅動,這是可能之一
2 網站的資料庫連接應該是從可配置的平面文件中讀取用戶名和密碼 ,這2個是否錯誤
3 你們的dba是否最近修改了資料庫的用戶名和密碼

4 你們的資料庫是否被人用類似ddos攻擊,就說被人不停的連接連接,撐到資料庫支持的上限後,正常連接就無法建立了。
5 你們的程序員是不是沒有釋放連接,或則你們的數據源釋放連接和建立的連接的策越有問題。

希望對你有幫助

熱點內容
一台伺服器搭建多個站點 發布:2025-08-23 17:44:18 瀏覽:821
安卓關哪裡會省電 發布:2025-08-23 17:39:17 瀏覽:571
搭建網頁代理伺服器 發布:2025-08-23 17:31:56 瀏覽:811
android相冊圖片路徑 發布:2025-08-23 17:21:49 瀏覽:564
如何回到安卓20之前的版本 發布:2025-08-23 17:14:57 瀏覽:945
怎麼對付我的世界伺服器放置上限 發布:2025-08-23 17:09:04 瀏覽:565
sqlgroupby排序 發布:2025-08-23 16:50:28 瀏覽:312
android屏幕取詞 發布:2025-08-23 16:35:35 瀏覽:799
電腦加密文件打不開 發布:2025-08-23 16:27:40 瀏覽:387
壓縮機cop 發布:2025-08-23 16:22:23 瀏覽:868