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