王慧敏
摘要:PHP是開發(fā)Web應(yīng)用系統(tǒng)最理想的工具,擁有易于使用、功能強大、成本低廉、安全性高、開發(fā)速度快且執(zhí)行靈活等優(yōu)點。PHP支持的數(shù)據(jù)庫類型較多,在這些數(shù)據(jù)庫中,MySQL數(shù)據(jù)庫與PHP結(jié)合得最好。MySQL只有命令行實用程序,沒有可視化開發(fā)環(huán)境,這使網(wǎng)站中的數(shù)據(jù)庫操作非常困難。所以很有必要用PHP建立一個可視化的環(huán)境,使MySQL數(shù)據(jù)庫操作變得更加簡易。
關(guān)鍵詞:PHP語言;MySQL數(shù)據(jù)庫;網(wǎng)站
PHP是一種服務(wù)器端、跨平臺、HTML嵌入式的腳本語言。其混合了C語言、Java語言和Perl語言的特點,是一種被廣泛應(yīng)用的開源多用途腳本語言,尤其適合Web開發(fā)。它能在Linux、Windows等絕大多數(shù)操作系統(tǒng)環(huán)境中運行。
MySQL數(shù)據(jù)庫是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。
然而,MySQL數(shù)據(jù)庫只有命令行實用程序,沒有可視化環(huán)境,給大多數(shù)習(xí)慣于Windows開發(fā)環(huán)境的程序員帶來諸多不便。PHP具有極強的開發(fā)MySQL應(yīng)用的能力,使用PHP通過SQL語言可以對數(shù)據(jù)庫進行各種操作,并以HTML格式輸出到瀏覽器中顯示,或在瀏覽器中對數(shù)據(jù)庫中存儲的網(wǎng)站內(nèi)容進行管理,實現(xiàn)MySQL的可視化數(shù)據(jù)庫操作。
數(shù)據(jù)庫操作是指對數(shù)據(jù)庫上的數(shù)據(jù)進行的一系列操作,包括讀取數(shù)據(jù)、寫數(shù)據(jù)、更新或修改數(shù)據(jù)、刪除數(shù)據(jù)等。
一、系統(tǒng)功能及主頁設(shè)計
數(shù)據(jù)庫操作可以在網(wǎng)站中網(wǎng)頁提供的特定頁面中完成。經(jīng)分析,我們提出了如圖1所示的數(shù)據(jù)庫操作功能。整個系統(tǒng)分成數(shù)據(jù)庫、表、數(shù)據(jù)操作3個功能模塊,每個模塊包括若干個功能,用于建立網(wǎng)站時的數(shù)據(jù)庫基本操作。
根據(jù)圖1的系統(tǒng)功能,我們設(shè)計了圖2所示的主頁,一個簡單的圖書信息管理的數(shù)據(jù)庫。下面將以此為例,在配置并啟動PHP服務(wù)器(PHP預(yù)處理器、Apache服務(wù)器、MySQL數(shù)據(jù)庫服務(wù)器)和建立好圖書信息表的情況下,介紹在數(shù)據(jù)表中如何實現(xiàn)四種最基礎(chǔ)的數(shù)據(jù)庫操作,即讀取數(shù)據(jù)、寫數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)。
二、軟件設(shè)計
(一)讀取數(shù)據(jù)
從數(shù)據(jù)庫讀取數(shù)據(jù)要通過查詢語句來完成,通過適當(dāng)SELECT查詢語句的編寫,并使用mysqli_query()函數(shù)執(zhí)行SQL查詢語句,可以讓數(shù)據(jù)庫服務(wù)器根據(jù)客戶的要求,檢索出所需要的數(shù)據(jù)資料,即查詢結(jié)果集$sqlstr=select * from tb_bookinfo order by id。
然后,選用mysqli_fetch_row()、mysqli_fetch_assoc()、mysqli_fetch_array()、mysqli_fetch_object()四個函數(shù)中的一個,通過一個數(shù)據(jù)行接著一個數(shù)據(jù)行的方式檢索結(jié)果集,并利用輸出語句將它們逐行顯示在頁面上。
圖2顯示的是圖書信息表(tb_bookinfo)中的所有記錄,是一個簡單的單表查詢,利用了SELECT查詢語句和函數(shù)mysqli_fetch_row()逐行獲取結(jié)果集,并用for循環(huán)將每條記錄中的各個數(shù)據(jù)元素循環(huán)輸出到網(wǎng)頁。部分代碼如下:
$result=mysqli_query($conn,$sqlstr);
while($row=mysqli_fetch_row($result)){
for($i=0;$i echo $row[$i]; } } (二)添加數(shù)據(jù) 添加數(shù)據(jù)是向已經(jīng)存在的數(shù)據(jù)表中添加一條新的記錄,應(yīng)該使用INSERT INTO語句。在命令行中添加不同的記錄要不斷的更改INSERT INTO語句的內(nèi)容,非常繁瑣,不利于操作。如果利用PHP去操作數(shù)據(jù)庫的話,可以做一個可視化的表單(如圖3所示)來進行新記錄的輸入。 用insert_ok.php文件獲取表單中提交的數(shù)據(jù),并用INSERT INTO語句將其添加到相應(yīng)數(shù)據(jù)表中,關(guān)鍵代碼如下: if ($_POST[‘bookname] and $_POST[‘a(chǎn)uthor] and $_POST[‘price] and $_POST[‘btype]){ $sqlstr1 = “insert into tb_bookinfo values(‘,”.$_POST[‘bookname].”,”.$_POST[‘a(chǎn)uthor].”,”.$_POST[‘price].”,”.$_POST[‘btype].”)”; $result = mysqli_query($conn,$sqlstr1); } (三)修改數(shù)據(jù) 如果要修改某條圖書信息,單擊圖2中的“修改”可以鏈接到修改圖書信息可視化界面,可視化界面用文件update.php實現(xiàn),關(guān)鍵代碼如下: <?php $sqlstr=select * from tb_bookinfo where id=.$_GET[‘id]; $result=mysqli_query($conn,$sqlstr); $row=mysqli_fetch_row($result); ?>
書名:
作者:
價格:
類型:
” />