php面象对象数据库操作类实例

2015-01-24信息快讯网

这篇文章主要介绍了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会自动注销!但是这样能够养成一个好的习惯,最好还是加上!其他自己类推。

希望本文所述对大家的PHP程序设计有所帮助。

©2014-2024 dbsqp.com