1. 程式人生 > >1 PHP讀取表資料

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官網下載最新的版本。

**需要注意的是**xampp會使用預設埠號80,而windows xp系統中IIS會預設佔用80埠,因此就要進入服務,將IIS禁止啟動。不過好在win7+系統預設情況下不會安裝IIS,如果你是win7系統,那麼可以放心安裝xampp。

安裝結束後,開啟xampp,啟動【Apache】

XAMPP介面

在firefox瀏覽器輸入localhost,如果能看到歡迎介面,恭喜你,web伺服器安裝成功。

XAMPP歡迎介面

1.2 建立web站點

在xampp安裝目錄下找到htdocs目錄(appserver為www目錄),然後建立一個wlvsoft資料夾。並將

後臺模板解壓後的內容拷貝到wlvsoft資料夾中。完成後你的目錄應該如圖所示

目錄結構

1.3 測試站點

在firefox瀏覽器輸入localhost/wlvsoft,如果能看到後臺介面,表示站點配置成功

CMS後臺介面

2 登陸介面

當我們在瀏覽器輸入localhost/wlvsoft,那麼web伺服器將會自動將index.html(或default.html)頁面返回給瀏覽器解析。因此當我們在前面測試的時候,雖然沒有輸入index.html,但是卻能看到index.html介面的原因。
下面我們再輸入:localhost/wlvsoft/login.html,瀏覽器將會呈現如下

Login介面

目前,不管我們輸入什麼內容,都能登入進入後臺介面。現在我們要做的是建立一個wlvsoft資料庫,並在wlvsoft資料庫下新建一張admin表。

2.1 建立admin表

在瀏覽器中輸入localhost/phpmyadmin,進入資料庫庫管理介面。開啟資料庫選項,建立資料庫wlvsoft,並選擇utf8編碼

建立資料庫

選擇wlvsoft資料庫,然後開啟SQL選項,輸入建立資料庫語句(也可以通過圖形介面建立admin表,但是不要忘了選擇utf8編碼建立表)

建立admin

執行之後,能看到admin表結構

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】的使用者資訊,通過這些資訊,就可以實現使用者登入功能。