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