php面象對象資料庫操作類執行個體_php技巧

來源:互聯網
上載者:User

本文執行個體講述了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會自動登出!但是這樣能夠養成一個好的習慣,最好還是加上!其他自己類推。

希望本文所述對大家的PHP程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.