1 PHP讀取表資料
本系列教程主要由將作者課堂講義進行整理形成,演示如何PHP開發一個後臺內容管理系統(CMS)。若要深入學習PHP知識,建議借幾本參考書,畢竟操作步驟的完成並不能幫助大家很好的理解PHP技術要點。這裡列出幾本參考書籍:
http://product.china-pub.com/209176 (基礎)
http://product.china-pub.com/195187 (高階)
本章主要介紹如何使用PHP連線資料庫,並讀取資料庫表中的資料。
1 準備工作
1.1 安裝web伺服器
安裝xampp(appserver、wampserver),這裡選擇xampp主要是應為其集成了apache伺服器和mysql資料庫,方便初學者快速搭建PHP開發環境。在
**需要注意的是**xampp會使用預設埠號80,而windows xp系統中IIS會預設佔用80埠,因此就要進入服務,將IIS禁止啟動。不過好在win7+系統預設情況下不會安裝IIS,如果你是win7系統,那麼可以放心安裝xampp。
安裝結束後,開啟xampp,啟動【Apache】
在firefox瀏覽器輸入localhost,如果能看到歡迎介面,恭喜你,web伺服器安裝成功。
1.2 建立web站點
在xampp安裝目錄下找到htdocs目錄(appserver為www目錄),然後建立一個wlvsoft資料夾。並將
1.3 測試站點
在firefox瀏覽器輸入localhost/wlvsoft,如果能看到後臺介面,表示站點配置成功
2 登陸介面
當我們在瀏覽器輸入localhost/wlvsoft,那麼web伺服器將會自動將index.html(或default.html)頁面返回給瀏覽器解析。因此當我們在前面測試的時候,雖然沒有輸入index.html,但是卻能看到index.html介面的原因。
下面我們再輸入:localhost/wlvsoft/login.html,瀏覽器將會呈現如下
目前,不管我們輸入什麼內容,都能登入進入後臺介面。現在我們要做的是建立一個wlvsoft資料庫,並在wlvsoft資料庫下新建一張admin表。
2.1 建立admin表
在瀏覽器中輸入localhost/phpmyadmin,進入資料庫庫管理介面。開啟資料庫選項,建立資料庫wlvsoft,並選擇utf8編碼
選擇wlvsoft資料庫,然後開啟SQL選項,輸入建立資料庫語句(也可以通過圖形介面建立admin表,但是不要忘了選擇utf8編碼建立表)
執行之後,能看到admin表結構
建立好admin之後,就要給表插入資料。資料的插入很簡單,選擇插入選項,輸入要插入的資訊(也可以通過SQL語句插入)
單擊執行後,選擇admin表 ,你將會看到增加的資料,其中密碼使用了MD5加密
需要注意的是,我們插入admin使用者的時候,密碼為8,但是在表資料中顯示的是一串數字和字元,這是因為我們在插入admin資料的時候,選擇了md5編碼。
給admin表插入資料之後,我們就可以著手通過PHP獲取表中的資料了。
3 獲取admin表資料
獲取表中資料有兩個步驟,首先需要連線資料庫,然後訪問資料表並獲取表中的資料,最後關閉資料庫連線。由於後臺需要頻繁訪問資料庫中的表,為了提高執行效率,每次訪問表之後,一般不關閉資料庫連線。當關閉瀏覽器的時候,將會自動關閉資料庫連線。
3.1 連線資料庫
在wlvsoft目錄下建立一個admin.php檔案,用來測試資料庫連線是否成功。admin.php中的程式碼如程式碼清單1所示。
程式碼清單1:admin.php
<?php
/*
*功能:連線資料庫
*作者:wlvsoft
*時間:20130714
*/
//伺服器名,由於在本機部署,所以使用localhost或127.0.0.1
$serverName = "localhost";
//安裝mysql資料庫的時候,預設使用者為root
$userName = "root";
$password = "";//依據需要修改資料庫密碼
$dbName = "wlvsoft";//資料庫名稱
//建立連線
$conn=mysqli_connect($serverName, $userName,
$password, $dbName);
//判斷連線是否成功
if (mysqli_connect_errno($conn)){
echo "連線失敗: " . mysqli_connect_error();
}
echo("連線資料庫成功!");
?>
當我們在瀏覽器輸入:localhost/wlvsoft/login.php,如果顯示效果如下,表示連線資料庫wl成功。
如果你的瀏覽器顯示的是亂碼,表示瀏覽器字元編碼不是utf8。為了徹底解決亂碼問題,建議:
- 建立資料庫的時候以utf8建立
- 建立表的時候以uft8建立
- 給表中的文字欄位設定utf8編碼
- 儲存檔案的時候以utf-8無bom格式儲存(在Nodepad++中格式可找到)
- 設定頁面編碼為utf8格式
下面給login.php頁面設定編碼格式,如程式碼清單2所示。
程式碼清單2:admin.php
<?php
//設定編碼格式
header("content-type:text/html; charset=utf-8");
……
?>
3.2 訪問表中資料
成功連線資料庫之後,就可以訪問資料庫中的表資料了。訪問資料庫中表的程式碼如程式碼清單3所示。
程式碼清單3:admin.php
<?php
/*
*功能:連線資料庫
*作者:wlvsoft
*時間:20130714
*/
//伺服器名,由於在本機部署,所以使用localhost或127.0.0.1
$serverName = "localhost";
//安裝mysql資料庫的時候,預設使用者為root
$userName = "root";
$password = "";//依據需要修改資料庫密碼
$dbName = "wlvsoft";//資料庫名稱
//建立連線
$conn=mysqli_connect($serverName, $userName,
$password, $dbName);
//判斷連線是否成功
if (mysqli_connect_errno($conn)){
echo "連線失敗: " . mysqli_connect_error();
}
echo("連線資料庫成功!");
$sql = "select * from admin where username = 'admin'";
//查詢資料,返回查詢的記錄集ID
$result = $conn->query($sql);
//換行
echo("<br />");
//獲取記錄集中的第一行資料
$row = $result->fetch_assoc();
print_r($row); //列印陣列資料
?>
執行後,瀏覽器顯示效果如圖
上面的執行結果成果獲取了使用者名稱為【admin】的使用者資訊,通過這些資訊,就可以實現使用者登入功能。