首页 > 语言 > PHP > 正文

php面象对象数据库操作类

2024-09-04 11:43:59
字体:
来源:转载
供稿:网友
  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会自动注销!但是这样能够养成一个好的习惯,最好还是加上!其他自己类推...不懂的可以提问!

 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表