程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php面象對象數據庫操作類

php面象對象數據庫操作類

編輯:關於PHP編程

<?php
//*******************************************************************
//此處構造一個數據庫操作類,封裝所有數據庫操作
//可以擴展便於後台管理程序的使用
Class MySQLDB 

   var $host; 
   var $user; 
   var $passwd; 
   var $database;
   var $conn; 

   //利用構造函數實現變量初始化 
   //同時連接數據庫操作
   function MySQLDB($host,$user,$password,$database) 
   { 
      $this->host = $host; 
      $this->user = $user; 
      $this->passwd = $password; 
      $this->database = $database; 
      $this->conn=mysql_connect($this->host, $this->user,$this->passwd) or 
     die("Could not connect to $this->host"); 
      mysql_select_db($this->database,$this->conn) or 
     die("Could not switch to database $this->database"); 
   } 

   //該函數用來關閉數據庫連接
   function Close() 
   { 
      MySQL_close($this->conn); 
   } 

   //該函數實現數據庫查詢操作
   function Query($queryStr) 
   { 
      $res =Mysql_query($queryStr, $this->conn) or 
      die("Could not query database"); 
      return $res; 
   } 

   //該函數返回記錄集
   function getRows($res) 
   { 
      $rowno = 0; 
      $rowno = MySQL_num_rows($res); 
      if($rowno>0) 
      { 
         for($row=0;$row<$rowno;$row++ ) 
         { 
            $rows[$row]=MySQL_fetch_array($res);
            //本來為MySQL_fetch_row,但是不能以數組的方式來提取,只能用索引
            //這樣可以用索引和名稱,更為方便
         } 
         return $rows; 
      } 
    } 

    //該函數取回數據庫記錄數
    function getRowsNum($res) 
    { 
       $rowno = 0; 
       $rowno = mysql_num_rows($res); 
       return $rowno;
    } 

 //該函數返回數據庫表字段數
 function getFieldsNum($res)
 {
    $fieldno = 0;
    $fieldno = mysql_num_fields($res);
    return $fieldno;
 }

 //該函數返回數據庫表字段名稱集
 function getFields($res)
 {
      $fno = $this->getFieldsNum($res);
      if($fno>0) 
      { 
         for($i=0;$i<$fno;$i++ ) 
         { 
            $fs[$i]=MySQL_field_name($res,$i);//取第i個字段的名稱
         } 
         return $fs;
      } 
 }




使用時直接require該文件,然後實例化:

$SqlDB = new MySQLDB("localhost","root","root","testdb");

$sql = "select * from tableX...";

$result = $SqlDB->Query($sql);//查詢

$rs = $SqlDB->getRows($result);//獲得記錄集

$num = $SqlDB->getRowsNum($result);//獲得記錄數

...剩下的操作就是循環取值,

for($i=0;$i<$num;$i++){
   echo($rs[$i]["字段名"]);
}

...

最後不要忘記關閉數據路連接哦$SqlDB->Close();當然這句可以不要,php會自動注銷!但是這樣能夠養成一個好的習慣,最好還是加上!

...其他自己類推...不懂的可以提問!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved