当前位置:首页 > PHP教程 > php类库 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-01 19:22:06 浏览: 评论:0 

这篇文章主要介绍了php面象对象数据库操作类,以实例形式讲述了通过面向对象封装数据库操作的技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php面象对象数据库操作类。分享给大家供大家参考。

具体实现代码如下:

  1. //此处构造一个数据库操作类,封装所有数据库操作 
  2. //可以扩展便于后台管理程序的使用 
  3. Class MySQLDB  
  4. {  
  5.    var $host;  
  6.    var $user;  
  7.    var $passwd;  
  8.    var $database
  9.    var $conn;  
  10.  
  11.    //利用构造函数实现变量初始化  
  12.    //同时连接数据库操作 
  13.    function MySQLDB($host,$user,$password,$database)  
  14.    {  
  15.       $this->host = $host;  
  16.       $this->user = $user;  
  17.       $this->passwd = $password;  
  18.       $this->database = $database;  
  19.       $this->conn=mysql_connect($this->host, $this->user,$this->passwd) or  
  20.      die("Could not connect to $this->host");  
  21.       mysql_select_db($this->database,$this->conn) or  
  22.      die("Could not switch to database $this->database");  
  23.    }  
  24.  
  25.    //该函数用来关闭数据库连接 
  26.    function Close()  
  27.    {  
  28.       MySQL_close($this->conn);  
  29.    }  
  30.  
  31.    //该函数实现数据库查询操作 
  32.    function Query($queryStr)  
  33.    {  
  34.       $res =Mysql_query($queryStr$this->conn) or  
  35.       die("Could not query database");  
  36.       return $res;  
  37.    }  
  38.  
  39.    //该函数返回记录集 
  40.    function getRows($res)  
  41.    {  
  42.       $rowno = 0;  
  43.       $rowno = MySQL_num_rows($res);  
  44.       if($rowno>0)  
  45.       {  
  46.          for($row=0;$row<$rowno;$row++ )  
  47.          {  
  48.             $rows[$row]=MySQL_fetch_array($res); 
  49.             //本来为MySQL_fetch_row,但是不能以数组的方式来提取,只能用索引 
  50.             //这样可以用索引和名称,更为方便 
  51.          }  
  52.          return $rows;  
  53.       }  
  54.     }  
  55.  
  56.     //该函数取回数据库记录数 
  57.     function getRowsNum($res)  
  58.     {  
  59.        $rowno = 0;  
  60.        $rowno = mysql_num_rows($res);  
  61.        return $rowno
  62.     }  
  63.  
  64.  //该函数返回数据库表字段数 
  65.  function getFieldsNum($res
  66.  { 
  67.     $fieldno = 0; 
  68.     $fieldno = mysql_num_fields($res); 
  69.     return $fieldno
  70.  } 
  71.  
  72.  //该函数返回数据库表字段名称集 
  73.  function getFields($res
  74.  { 
  75.       $fno = $this->getFieldsNum($res); 
  76.       if($fno>0)  
  77.       {  
  78.          for($i=0;$i<$fno;$i++ )  
  79.          {  
  80.             $fs[$i]=MySQL_field_name($res,$i);//取第i个字段的名称 
  81.          }  
  82.          return $fs
  83.       }  
  84.  } 
  85. }  
  86.  
  87. //使用时直接require该文件,然后实例化: 
  88.  
  89. $SqlDB = new MySQLDB("localhost","root","root","testdb"); 
  90.  
  91. $sql = "select * from tableX..."
  92.  
  93. $result = $SqlDB->Query($sql);//查询 
  94.  
  95. $rs = $SqlDB->getRows($result);//获得记录集 
  96.  
  97. $num = $SqlDB->getRowsNum($result);//获得记录数 
  98.  
  99. ...剩下的操作就是循环取值, 
  100.  
  101. for($i=0;$i<$num;$i++){ 
  102.    echo($rs[$i]["字段名"]); 
  103.  
  104. ... 

最后不要忘记关闭数据路连接,代码如下:

$SqlDB->Close();

当然这句可以不要,php会自动注销!但是这样能够养成一个好的习惯,最好还是加上!其他自己类推。

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

Tags: php数据库操作类

分享到: