亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

基于PHP的Web數(shù)據(jù)庫訪問

時間:2024-07-21 11:03:24 計算機畢業(yè)論文 我要投稿
  • 相關(guān)推薦

基于PHP的Web數(shù)據(jù)庫訪問

摘要 本文介紹PHP的優(yōu)點和特點,結(jié)合實例闡述了PHP訪問MySQL數(shù)據(jù)庫的方法。?
關(guān)鍵詞 PHP MySQL ODBC?

1. 引言
在Internet應(yīng)用中,將服務(wù)器端腳本技術(shù)和客戶端腳本技術(shù)結(jié)合起來可以制作出豐富多彩的頁面。CGI和ASP是比較流行的服務(wù)器端腳本技術(shù)。通常CGI在跨平臺的開發(fā)中扮演著主要角色,可以使用VB、C或Perl等來實現(xiàn),用它們寫的CGI腳本是一個單獨的程序,而不是嵌在HTML文檔中再通過另一個程序解釋替換的,所以它是一種“非嵌入式”的服務(wù)器端腳本。另外,每一次修改CGI程序都必須重新將其編譯成執(zhí)行文件,因此,這樣的編寫方式事實上是比較困難且沒有效率。ASP則是嵌入式的服務(wù)器端腳本,每一次修改腳本并不需要重新編譯成執(zhí)行文件就可以直接執(zhí)行,但ASP有一個致命的缺點:不具有跨平臺開發(fā)能力。目前ASP只能在Windows環(huán)境下運行,而無法在Internet上的Unix平臺下使用。在這種情況下PHP的問世,在Wel CGI的領(lǐng)域里掀起了一場革命。?
2. PHP介紹?
PHP (Personal Home Page)是一種跨平臺的服務(wù)器端嵌入式腳本語言。它最初是Rasmus Lerdorf于1994年開發(fā)的。早期的版本,提供了訪客留言本、訪客計數(shù)器等簡單功能。隨后,在第二版中增加了對mSQL的支持。自此奠定了PHP在動態(tài)網(wǎng)頁開發(fā)上的影響力,并迅速在Internet上流傳開來。截止1999年,已有超過十五萬個站點使用PHP。同時,PHP的源代碼完全公開,在Open Source意識抬頭的今天,它更是這方面的中流砥柱,隨著新函數(shù)庫的不斷加入,使PHP無論在Unix或是Win32的平臺上都可以有更多新的功能。如今,PHP已發(fā)展至4.0版。在語法方面,PHP混合了C、Java、Perl以及PHP以前版本的優(yōu)點。它相當(dāng)于Script與CGI的結(jié)合語言,但是其執(zhí)行將效率卻比CGI更好,程序編寫也比HTML更便利且更富有彈性,程序的安全性及保密性也比Script好。在函數(shù)支持方面,PHP幾乎覆蓋了Web應(yīng)用的各個方面,其中最有特色的是數(shù)據(jù)庫函數(shù),使用PHP完成一個含有數(shù)據(jù)庫功能的網(wǎng)頁非常簡單,而PHP支持的數(shù)據(jù)庫也非常豐富,目前包括:Oracle、Sybase、mSQL、MySQL、Informix等。?
3. 訪問MySQL數(shù)據(jù)庫?
MySQL是一個快速、健壯和易用,且支持多線程、多用戶的SQL數(shù)據(jù)庫服務(wù)器。雖然PHP通過ODBC支持幾乎所有的數(shù)據(jù)庫。但對于開發(fā)數(shù)據(jù)驅(qū)動的網(wǎng)站而言,選擇MySQL應(yīng)該說是最佳組合,這不僅因為MySQL是免費的,更在于它具有許多同大型數(shù)據(jù)庫相媲美甚至超過它們的優(yōu)良性能。PHP實現(xiàn)對MySQL數(shù)據(jù)庫的訪問有兩種方法:?
1)利用PHP的數(shù)據(jù)庫函數(shù)連接?
這里主要用到四個數(shù)據(jù)庫函數(shù):?
mysql_connect ()建立與MySQL服務(wù)器的連接。?
mysql_select_db ():選擇MySQL服務(wù)器中的數(shù)據(jù)庫供以后的數(shù)據(jù)查詢操作query處理。 mysql_query ():送出query字符串以幫助MySQL做相關(guān)的處理或執(zhí)行。?
mysql_fetch_row ():用來將查詢結(jié)果result單行移到數(shù)組變量中。數(shù)組的索引是數(shù)字
索引,第一個索引值是0。?
2)通過ODBC連接?
PHP通過ODBC連接MySQL數(shù)據(jù)庫主要用到四個函數(shù):?
Odbc_connect ():用來同ODBC數(shù)據(jù)源建立連接。?
Odbc_do ():用來在建立連接之后執(zhí)行數(shù)據(jù)庫查詢。?
Odbc_result():用于取得當(dāng)前記錄行中某個字段的值。?
Odbc_fetch_row ():用來把查詢結(jié)果保存到數(shù)組,每個數(shù)組元素對應(yīng)一條記錄。?
上述兩種方法在與數(shù)據(jù)庫建立連接的語法上,并沒有太大差別。不過在相比較之下,通過ODBC方式存取數(shù)據(jù)庫比PHP直接存取MySQL耗時間,但通過ODBC接口存取數(shù)據(jù)庫不必?fù)?dān)心使用何種數(shù)據(jù)庫,如Oracle,Informix,Sybase 等。它們都支持ODBC接口,這樣可減少更換數(shù)據(jù)庫時需要更改程序的問題。圖1顯了PHP連接數(shù)據(jù)庫的兩種方法。

PHP

MySQL

MySQL
圖1 PHP連接數(shù)據(jù)庫說明圖
4. 一個應(yīng)用實例
現(xiàn)在很多校園網(wǎng)站都提供成績查詢功能。PHP和MySQL數(shù)據(jù)庫相結(jié)合使用可以方便的實現(xiàn)此功能。首先建立數(shù)據(jù)庫Score 及數(shù)據(jù)表Score。建表SQL語句如下:?
Creat table Score(?
Stu_no varchar(10) not null,?
name varchar(10) not null,?
scorel tinyint(4),?
score2 tinyint(4),?
Primary Key(stu_no)?
);?
1) 通過PHP的數(shù)據(jù)庫函數(shù)訪問MySQL的代碼如下:?
〈?php?
print(“〈html〉〈head〉\n”);?
print(“〈title〉成績查詢〈/title〉〈/head〉\n”);?
print(“〈body〉〈cennter〉”);?
print(“〈font size=6 color=”ff0000〉您的成績?nèi)缦隆?font〉”);?
$comm=mysql_connect(“l(fā)ocalhost”,“root”,"");?
mysql_select_db(“Score”,$comm);?
$str=“Select *From Score Where stu_no=’$pstu_no'and name=’$pname'”;?
$reault=mysql_query($str,$comm);?
print(“〈table align=center〉”);?
$sqlrow=mysql_fetch_row($result));?
print(“學(xué)號:$sqlrow[0]”);?
print(“姓名:$sqlrow[1]”);?
print(“成績1:$sqlrow[2

【基于PHP的Web數(shù)據(jù)庫訪問】相關(guān)文章:

基于Web的交互式數(shù)據(jù)庫查詢技術(shù)03-20

基于ASP技術(shù)開發(fā)Web數(shù)據(jù)庫檢索程序03-18

基于Web數(shù)據(jù)庫的信息發(fā)布系統(tǒng)JSP+SQL03-08

基于WEB的在線考試系統(tǒng)03-09

基于Web服務(wù)的集成研究03-08

VB訪問數(shù)據(jù)庫的方法及接口的比較03-18

基于Web技術(shù)的網(wǎng)絡(luò)考試系統(tǒng)03-18

應(yīng)用LabSQL實現(xiàn)LabVIEW中數(shù)據(jù)庫的訪問03-07

基于Web服務(wù)的短信網(wǎng)關(guān)設(shè)計03-26