网站地图    收藏   

主页 > php专栏 > php类库 >

php面象对象数据库操作类 - php类库

来源:自学PHP网    时间:2014-11-30 12:53 作者: 阅读:

[导读] ******************************************************************* 此处构造一个数据库操作类,封装所有数据库操作 可以扩展便于...

php面象对象数据库操作类

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

最后不要忘记关闭数据路连接哦$SqlDB->Close();当然这句可以不要,php会自动注销!但是这样能够养成一个好的习惯,最好还是加上!其他自己类推...不懂的可以提问!

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论