正文

php面象对象数据库操作类2007-09-30 17:16:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/tiay/29752.html

分享到:

<?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会自动注销!但是这样能够养成一个好的习惯,最好还是加上!

...其他自己类推...不懂的可以提问!

阅读(1997) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册