計算機畢業論文:基于PHP的Web數據庫訪問
時間:2022-10-08 04:06:00
導語:計算機畢業論文:基于PHP的Web數據庫訪問一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要本文介紹php的優點和特點,結合實例闡述了PHP訪問MySQL數據庫的方法。
關鍵詞PHPMySQLODBC
1.引言
在Internet應用中,將服務器端腳本技術和客戶端腳本技術結合起來可以制作出豐富多彩的頁面。CGI和ASP是比較流行的服務器端腳本技術。通常CGI在跨平臺的開發中扮演著主要角色,可以使用VB、C或Perl等來實現,用它們寫的CGI腳本是一個單獨的程序,而不是嵌在HTML文檔中再通過另一個程序解釋替換的,所以它是一種“非嵌入式”的服務器端腳本。另外,每一次修改CGI程序都必須重新將其編譯成執行文件,因此,這樣的編寫方式事實上是比較困難且沒有效率。ASP則是嵌入式的服務器端腳本,每一次修改腳本并不需要重新編譯成執行文件就可以直接執行,但ASP有一個致命的缺點:不具有跨平臺開發能力。目前ASP只能在Windows環境下運行,而無法在Internet上的Unix平臺下使用。在這種情況下PHP的問世,在WelCGI的領域里掀起了一場革命。
2.PHP介紹
PHP(PersonalHomePage)是一種跨平臺的服務器端嵌入式腳本語言。它最初是RasmusLerdorf于1994年開發的。早期的版本,提供了訪客留言本、訪客計數器等簡單功能。隨后,在第二版中增加了對mSQL的支持。自此奠定了PHP在動態網頁開發上的影響力,并迅速在Internet上流傳開來。截止1999年,已有超過十五萬個站點使用PHP。同時,PHP的源代碼完全公開,在OpenSource意識抬頭的今天,它更是這方面的中流砥柱,隨著新函數庫的不斷加入,使PHP無論在Unix或是Win32的平臺上都可以有更多新的功能。如今,PHP已發展至4.0版。在語法方面,PHP混合了C、Java、Perl以及PHP以前版本的優點。它相當于Script與CGI的結合語言,但是其執行將效率卻比CGI更好,程序編寫也比HTML更便利且更富有彈性,程序的安全性及保密性也比Script好。在函數支持方面,PHP幾乎覆蓋了web應用的各個方面,其中最有特色的是數據庫函數,使用PHP完成一個含有數據庫功能的網頁非常簡單,而PHP支持的數據庫也非常豐富,目前包括:Oracle、Sybase、mSQL、MySQL、Informix等。
3.訪問MySQL數據庫
MySQL是一個快速、健壯和易用,且支持多線程、多用戶的SQL數據庫服務器。雖然PHP通過ODBC支持幾乎所有的數據庫。但對于開發數據驅動的網站而言,選擇MySQL應該說是最佳組合,這不僅因為MySQL是免費的,更在于它具有許多同大型數據庫相媲美甚至超過它們的優良性能。PHP實現對MySQL數據庫的訪問有兩種方法:
1)利用PHP的數據庫函數連接
這里主要用到四個數據庫函數:
mysql_connect()建立與MySQL服務器的連接。
mysql_select_db():選擇MySQL服務器中的數據庫供以后的數據查詢操作query處理。mysql_query():送出query字符串以幫助MySQL做相關的處理或執行。
mysql_fetch_row():用來將查詢結果result單行移到數組變量中。數組的索引是數字
索引,第一個索引值是0。
2)通過ODBC連接
PHP通過ODBC連接MySQL數據庫主要用到四個函數:
Odbc_connect():用來同ODBC數據源建立連接。
Odbc_do():用來在建立連接之后執行數據庫查詢。
Odbc_result():用于取得當前記錄行中某個字段的值。
Odbc_fetch_row():用來把查詢結果保存到數組,每個數組元素對應一條記錄。
上述兩種方法在與數據庫建立連接的語法上,并沒有太大差別。不過在相比較之下,通過ODBC方式存取數據庫比PHP直接存取MySQL耗時間,但通過ODBC接口存取數據庫不必擔心使用何種數據庫,如Oracle,Informix,Sybase等。它們都支持ODBC接口,這樣可減少更換數據庫時需要更改程序的問題。圖1顯了PHP連接數據庫的兩種方法。
PHP
MySQL
MySQL
圖1PHP連接數據庫說明圖
4.一個應用實例
現在很多校園網站都提供成績查詢功能。PHP和MySQL數據庫相結合使用可以方便的實現此功能。首先建立數據庫Score及數據表Score。建表SQL語句如下:
CreattableScore(
Stu_novarchar(10)notnull,
namevarchar(10)notnull,
scoreltinyint(4),
score2tinyint(4),
PrimaryKey(stu_no)
);
1)通過PHP的數據庫函數訪問MySQL的代碼如下:
〈?php
print(“〈html〉〈head〉\n”);
print(“〈title〉成績查詢〈/title〉〈/head〉\n”);
print(“〈body〉〈cennter〉”);
print(“〈fontsize=6color=”ff0000〉您的成績如下〈/font〉”);
$comm=mysql_connect(“localhost”,“root”,"");
mysql_select_db(“Score”,$comm);
$str=“Select*FromScoreWherestu_no=’$pstu_no''''andname=’$pname''''”;
$reault=mysql_query($str,$comm);
print(“〈tablealign=center〉”);
$sqlrow=mysql_fetch_row($result));
print(“學號:$sqlrow[0]”);
print(“姓名:$sqlrow[1]”);
print(“成績1:$sqlrow[2]”);
print(“成績2:$sqlrow[3]”);
print(“〈/table〉〈body.〈/html〉”);
?〉
2)通過ODBC訪問MySQL數據庫的代碼如下(省略的代碼同上):
〈?php
…
$comm=odbc_connect(“Score”,"system","");
$str="Select*FromScoreWherename=’$pname’andstu_no=’$pstu_no’”;
$result=odbc_do($comm,$str);
…
while(odbc_fetch_row($result))
{
$pstu_no=odbc_result($result,"stu_no");
$pname=odbc_result($result,"name");
$score1=odbc_result($result,"score1");
$score2=odbc_result($result,"score2");
print(“學號:$pstu-no”);
print(“姓名:$pname”);
print(“成績1:$score1”);
print(“成績2:$score2”);
}
…?〉
5.結束語
對于Wed服務器端的開發,PHP是一種易開發、高效能的動態腳本編程語言。在未來的幾年內,PHP必將成為主流的腳本語言,并被Wed研究和開發人員熟悉和掌握。
參考文獻
[1]鐘偉財編著精通PHP4.0與MySQL架構Wed數據庫實務〓〓中國青年出版社
[2]蔣宇清徐州師范大學計算機系新一代嵌入式腳本語言PHP計算機時代2000年