一、網(wǎng)頁中將用戶注冊的信息(數(shù)據(jù))提交到數(shù)據(jù)庫的步驟
1、創(chuàng)建一個(gè)表格:創(chuàng)建一個(gè)數(shù)據(jù)庫表格,定義每個(gè)字段的名稱和類型,可以使用SQL命令在數(shù)據(jù)庫中直接創(chuàng)建該表格。
2、創(chuàng)建一個(gè)服務(wù)器端腳本:使用后端編程語言(如PHP、Python、Java等)編寫服務(wù)器端腳本,用于將用戶注冊信息插入到數(shù)據(jù)庫表格中。通常情況下,可以通過Post或Get方法將值傳送到服務(wù)器。
3、向服務(wù)器提交數(shù)據(jù):在Web頁面上創(chuàng)建一個(gè)表格,允許用戶將其注冊信息輸入到頁面中,并使用表單提交按鈕指定執(zhí)行的服務(wù)器端腳本URL,從而將數(shù)據(jù)發(fā)送到服務(wù)器。
4、數(shù)據(jù)庫連接:在服務(wù)器端腳本中使用適當(dāng)?shù)臄?shù)據(jù)庫API(如PHP的PDO、Python的Django框架、或Java的JDBC等)建立與數(shù)據(jù)庫的連接。
5、插入數(shù)據(jù)到數(shù)據(jù)庫表格:一旦連接成功,使用SQL插入命令將用戶注冊信息插入到數(shù)據(jù)庫表格中。需從提交表單中獲取信息,然后將其插入到對應(yīng)的數(shù)據(jù)庫表格中。
6、確認(rèn)數(shù)據(jù)插入:當(dāng)用戶注冊信息成功插入到數(shù)據(jù)庫表格中時(shí),可以向用戶顯示一條成功信息或者重定向到其他頁面。
二、Web數(shù)據(jù)庫的訪問技術(shù)
1、CGI技術(shù)
CGI(Common Gateway Interface,通用網(wǎng)關(guān)界面)是一種Web服務(wù)器上運(yùn)行的基于Web瀏覽器輸入程序的方法,是較早的訪問數(shù)據(jù)庫的解決方案。CGI程序可以建立網(wǎng)頁與數(shù)據(jù)庫之間的連接,將用戶的查詢要求轉(zhuǎn)換成數(shù)據(jù)庫的查詢命令,然后將查詢結(jié)果通過網(wǎng)頁返回給用戶。
CGI程序需要通過一個(gè)接口才能訪問數(shù)據(jù)庫。這種接口多種多樣,數(shù)據(jù)庫系統(tǒng)對CGI程序提供了各種數(shù)據(jù)庫接口如Perl、C/C++、VB等。為了使用各種數(shù)據(jù)庫系統(tǒng),CGI程序支持ODBC方式,通過ODBC接口訪問數(shù)據(jù)庫。
2、ODBC技術(shù)
ODBC(Open Database Connectivity,開放數(shù)據(jù)庫互接)是一種使用SQL的應(yīng)用程序接口(API)。ODBC最顯著的優(yōu)點(diǎn)就是它生成的程序與數(shù)據(jù)庫系統(tǒng)無關(guān),為程序員方便地編寫訪問各種DBMS的數(shù)據(jù)庫應(yīng)用程序提供了一個(gè)統(tǒng)一接口,使應(yīng)用程序和數(shù)據(jù)庫源之間完成數(shù)據(jù)交換。ODBC的內(nèi)部結(jié)構(gòu)為4層:應(yīng)用程序?qū)?、?qū)動程序管理器層、驅(qū)動程序?qū)印?shù)據(jù)源層。它們之間的關(guān)系如圖1-5所示。由于ODBC適用于不同的數(shù)據(jù)庫產(chǎn)品,因此許多服務(wù)器擴(kuò)展程序都使用了包含ODBC層的系統(tǒng)結(jié)構(gòu)。
Web服務(wù)器通過ODBC數(shù)據(jù)庫驅(qū)動程序向數(shù)據(jù)庫系統(tǒng)發(fā)出SQL請求,數(shù)據(jù)庫系統(tǒng)接收到的是標(biāo)準(zhǔn)SQL查詢語句,并將執(zhí)行后的查詢結(jié)果再通過ODBC傳回Web服務(wù)器,Web服務(wù)器將結(jié)果以HTML網(wǎng)頁傳給Web瀏覽器,工作原理如圖1-6所示。
由于Java語言所顯示出來的編程優(yōu)勢贏得了眾多數(shù)據(jù)庫廠商的支持。在數(shù)據(jù)庫處理方面,Java提供的JDBC為數(shù)據(jù)庫開發(fā)應(yīng)用提供了標(biāo)準(zhǔn)的應(yīng)用程序編程接口。與ODBC類似,JDBC也是一種特殊的API,是用于執(zhí)行SQL語句的Java應(yīng)用程序接口。它規(guī)定了Java如何與數(shù)據(jù)庫之間交換數(shù)據(jù)的方法。采用Java和JDBC編寫的數(shù)據(jù)庫應(yīng)用程序具有與平臺無關(guān)的特性。
3、ASP、JSP、PHP技術(shù)
ASP是Microsoft開發(fā)的動態(tài)網(wǎng)頁技術(shù),主要應(yīng)用于Windows NT+IIS或 Windows 9x+PWS平臺。確切地說ASP不是一種語言,而是Web服務(wù)器端的開發(fā)環(huán)境。利用ASP可以產(chǎn)生和運(yùn)行動態(tài)的、交互的、高性能的Web服務(wù)應(yīng)用程序。ASP支持多種腳本語言,除了VBScript和Pscript,也支持Perl語言,并且可以在同一ASP文件中使用多種腳本語言以發(fā)揮各種腳本語言的最大優(yōu)勢。但ASP默認(rèn)只支持VBScript和Pscript,若要使用其他腳本語言,必須安裝相應(yīng)的腳本引擎。ASP支持在服務(wù)器端調(diào)用ActiveX組件ADO對象實(shí)現(xiàn)對數(shù)據(jù)庫的操作。在具體的應(yīng)用中,若腳本語言中有訪問數(shù)據(jù)庫的請求,可通過ODBC與后臺數(shù)據(jù)庫相連,并通過ADO執(zhí)行訪問庫的操作。關(guān)于ASP的編程技術(shù)將會在第7章中詳細(xì)介紹。
JSP是Sun公司推出的新一代Web開發(fā)技術(shù)。作為Java家族的一員,幾乎可以運(yùn)行在所有的操作系統(tǒng)平臺和Web服務(wù)器上,因此JSP的運(yùn)行平臺更為廣泛。JSP支持的腳本語言只有Java。JSP使用JDBC實(shí)現(xiàn)對數(shù)據(jù)庫的訪問。目標(biāo)數(shù)據(jù)庫必須有一個(gè)JDBC的驅(qū)動程序,即一個(gè)從數(shù)據(jù)庫到Java的接口,該接口提供了標(biāo)準(zhǔn)的方法使Java應(yīng)用程序能夠連接到數(shù)據(jù)庫并執(zhí)行對數(shù)據(jù)庫的操作。JDBC不需要在服務(wù)器上創(chuàng)建數(shù)據(jù)源,通過JDBC、JSP就可以實(shí)現(xiàn)SQL語句的執(zhí)行。
PHP是Rasmus Lerdorf推出的一種跨平臺的嵌入式腳本語言,可以在Windows、UNIX、Linux等流行的操作系統(tǒng)和IIS、Apache、Netscape等Web服務(wù)器上運(yùn)行,用戶更換平臺時(shí),無需變換PHP代碼。PHP是通過Internet合作開發(fā)的開放源代碼軟件,它借用了C、Java、Perl語言的語法并結(jié)合PHP自身的特性,能夠快速寫出動態(tài)生成頁面。PHP可以通過ODBC訪問各種數(shù)據(jù)庫,但主要通過函數(shù)直接訪問數(shù)據(jù)庫。PHP支持絕大多數(shù)的數(shù)據(jù)庫,提供許多與各類數(shù)據(jù)庫直接互連的函數(shù),包括Sybase、Oracle、SQL Server等,其中與SQL Server數(shù)據(jù)庫互連是優(yōu)異組合。
延伸閱讀1:Web數(shù)據(jù)庫
Web數(shù)據(jù)庫指在互聯(lián)網(wǎng)中以Web查詢接口方式訪問的數(shù)據(jù)庫資源。促進(jìn)Internet發(fā)展的因素之一就是Web技術(shù)。由靜態(tài)網(wǎng)頁技術(shù)的HTML到動態(tài)網(wǎng)頁技術(shù)的CGI、ASP、PHP、JSP等,Web技術(shù)經(jīng)歷了一個(gè)重要的變革過程。Web已經(jīng)不再局限于僅僅由靜態(tài)網(wǎng)頁提供信息服務(wù),而改變?yōu)閯討B(tài)的網(wǎng)頁,可提供交互式的信息查詢服務(wù),使信息數(shù)據(jù)庫服務(wù)成為了可能。Web數(shù)據(jù)庫就是將數(shù)據(jù)庫技術(shù)與Web技術(shù)融合在一起,使數(shù)據(jù)庫系統(tǒng)成為Web的重要有機(jī)組成部分,從而實(shí)現(xiàn)數(shù)據(jù)庫與網(wǎng)絡(luò)技術(shù)的無縫結(jié)合。這一結(jié)合不僅把Web與數(shù)據(jù)庫的所有優(yōu)勢集合在了一起,而且充分利用了大量已有數(shù)據(jù)庫的信息資源。Web數(shù)據(jù)庫由數(shù)據(jù)庫服務(wù)器(Database Server)、中間件(Middle Ware)、Web服務(wù)器(Web Server)、瀏覽器(Browser)4部分組成。