PHP指令碼資料庫功能詳解(下)

來源:互聯網
上載者:User

用類加快PHP的資料庫開發
  資料庫的訪問函數較多,使用不當會降低效率,甚至導致錯誤。而PHP的本身就是開放的和可擴充的,很多人為它開發各種功能的原始碼。每一個PHP程式員都應該善於繼承他人的成果,節省時間和精力。站在巨人的肩膀上,才能看得更遠。當然,你也可以把你的代碼共用出來,體會自己的勞動被承認和創造價值而帶來的成就感。

  使用資料庫類,可以使我們完全不必考慮具體的資料庫類型,而專註於程式的開發上。

  眾多的開發套件中,PHPLib是效能較穩定、功能較完善的一個。PHPLib可以在http://phplib.netuse.de/ 獲得。它包含了資料庫的支援類。以MySQL資料庫為例,PHPLib內建名為DB_Sql的類。它封裝了資料庫的串連、查詢、取結果、資料庫表的遍曆等功能。

  使用資料庫類,可以使我們完全不必考慮具體的資料庫類型,而專註於程式的開發上。即使資料庫系統類別型換了,程式碼也不用改。同時,資料庫類提供了完整而健壯的資料庫存取方法,這可能是使用類的封裝的最大的優勢了。
  下面,我們就使用PHPLib提供的資料庫類,來訪問我們剛才建立的資料庫,並對內容進行顯示。

  〈?

  require "db_mysql.php";

  //包含資料庫類的組建檔案

  $db=new DB_Sql;

  //聲明資料庫類的執行個體

  $db-〉connect("ResumeDB","localhost", "root", "");

  //串連資料庫伺服器

  //提供的參數依次為:資料庫名,主機名稱,使用者名稱,使用者密碼

  if ($db-〉Link_ID)

  //判斷是否正確建立串連

  {

   $db-〉query("select ID,Name,Intro FROM Resume");

  //查詢

   if ($db-〉nf())

  //判斷結果集是否為空白

   {

   while ($db-〉next_record())

  //取得下一行記錄值,直到記錄集內容取完

   {

   echo "ID:", $db-〉f("ID"); //f()函數返回目前記錄某個子段的值

   echo "〈br〉";

   echo "姓名:";

   $db-〉p("Name");

  //p()函數直接列印某個子段的值

  //等價於echo $db-〉f("name")

   echo "〈br〉";

   echo "簡介:";

   echo $db-〉f("Intro");

   echo "〈br〉";

   echo "〈a href= "download.php?ID=".$db-〉f("ID").""〉查看Word文檔〈/a〉";

   echo "〈br〉〈hr〉";

   }

   }

   $db-〉free ();

  //釋放資源

  }

  ?〉

  從上面的流程可以看出,用類訪問資料庫的方法和直接存取資料庫的方法基本相同。不同的是,這裡我們調用的方法都是類的方法,而不是具體針對某種資料庫的函數。由於代碼和具體資料庫類型的分離,使得當資料庫系統改變的時候,我們不用改變程式碼,只要改變基類的實現方法即可。

  如果結合使用PHPLib模板進行設計的話,即可實現程式與顯示的分離。也將使得程式結構清晰,網頁美工設計製作方便。

  簡便的用法、合理的任務分配、合乎思維的對象封裝,將使得網站開發效率大大提高。

  附:代碼測試平台
  以上程式碼全部在下面的平台測試通過

  RedHat Linux 6.1+Apache1.3.12+

  PHP4.0+MySql3.22.32

  資料庫的安裝配置過程為:

   cd /usr/local/src/mysql*

   ./configure --refix=/usr/local/mysql

   make

   make install

  Apache的安裝配置過程為:

   cd /usr/local/src/apache*

   ./configure --prefix=/usr/local/apache --enable-shared=max

   make

   make install

  PHP的安裝配置過程為:

   cd /usr/local/src/php*

   ./configure --with-apxs=/usr/local/apache/bin/apxs

  --with-config-file-path=/usr/local/

  apache/conf

  --with-mysql=/usr/local/mysql

  --enable-debug=no

  --enable-track-vars

  php.ini配置過程為:

   拷貝php.ini-dist到/usr/local/

  apache/conf/php.ini

   編輯httpd.conf,把下面兩行的注釋去掉

   AddType application/x-httpd-php .php .php3

   AddType application/x-httpd-php-source .phps

  <<全文完>>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.