数据库操作类(PHP/mysql)

<?php
/* 数据库查询类  start*/

class Database
{

    var
$dbhostname;
    var
$dbname;
    var
$dbuser;
    var
$dbpassword;
    var
$connid;
    var
$query;
    var
$result;
    var
$resultid;
    var
$insertid;
    var
$rows;
    var
$errCode             = 0;
    var
$errString         = "";
    var
$debugString  = "";
  var
$xml                    = "";

    
/* 构造函数 */
    
function Database()
    {

        
$this->dbhostname    = "localhost";        //登录数据库主机名
        
$this->dbname          = "yourdb";             /数据库名
        
$this->dbuser          = "root";                    //数据库登录用户名
        
$this->dbpassword    = "";                         //数据库登录密码
        
$this->_connect();                                    //连接数据库
        
$this->_db_select();                                //选择数据库

    
}

    
/* 数据库执行函数, $type 执行操作类型, ""为查询, "update"为更新, "insert"为插入, "delete"为删除 */
    
function db_query($sql,$type)
    {

            
$this->query = $sql;
            if (
$this->_query())
            {

                if(empty(
$type))
                {
                    
$this->_num_rows();                              //返回查询的函数
                    
$this->result = $this->_fetch_array();  //返回查询结果
                
}
                if (
$type == "insert")
                {
                    
$this->insertid=@mysql_insert_id();            //返回插入的ID自动增量
                
}
                return
true;
            }
            else
                return
false;

    }

    
/* 数据库结果生成XML */
  
function createXML($itemroot="child",$item="root")
  {
      
$dom = new DOMDocument("1.0","utf-8");
      
$dom->preserveWhiteSpace = false;
      
$dom->formatOutput = true;
    
$rootNode = $dom->createElement($item);
        for(
$i=0;$i<count($this->result);$i++)
      {
      
$itemNode = $dom->createElement($itemroot);
          foreach(
$this->result[$i] as $key=>$value)
          {
                  
//$value = iconv("gb2312","utf-8",$value);
                  
$tmpNode = $dom->createElement($key,$value);
                  
$itemNode->appendChild($tmpNode);
          }
          
$rootNode->appendChild($itemNode);
      }
      
$dom->appendChild($rootNode);
      if (
$this->xml = $dom->saveXML())
          return
$this->xml;
      else
          return
false;
  }

  
/* 连接数据库 */
    
function _connect()
    {


        
$this->connid = @mysql_connect($this->dbhostname,$this->dbuser,$this->dbpassword);
        if (
false == $this->connid)
        {
            
$this->errCode = 1;
            
$this->errString      = "不能连接数据库!";
            
$this->debugString = "不能连接数据库: ".mysql_error();
            
$this->showErr();
            return
false;
        }
        else
            return
true;
    }

    
/* 选择数据库 */
    
function _db_select()
    {


        
$selectFlag = @mysql_select_db($this->dbname,$this->connid);
        if (
false == $selectFlag)
        {
            
$this->errCode = 2;
            
$this->errString   = "不能选择数据库!";
            
$this->debugString = "不能选择数据库: ".$this->dbname;
            
$this->showErr();
            return
false;
        }
        else
            return
true;

    }

    
/* 数据库查询语句 */
    
function _query()
    {


        
$this->resultid = @mysql_query($this->query,$this->connid);
        if (
false == $this->resultid )
        {
            
$this->errCode = 3;
            
$this->errString   = "数据库查询语句错误!";
            
$this->debugString = "数据库查询语句错误: ".$this->query.mysql_error();
            
$this->showErr();
            return
false;
        }
        else
            return
true;

    }

    
/* 返回查询记录总数 */
    
function _num_rows()
    {

        
$this->rows = @mysql_num_rows($this->resultid);

    }

    
/* 返回结果数组 */
    
function _fetch_array()
    {
        if (
$this->errCode != 3)
        {
            
$tmpResult = "";
            
$i = 0;
            while (
$row = mysql_fetch_array($this->resultid,MYSQL_ASSOC))
            {

                
$tmpResult[$i] = $row;
                
$i++;
            }
//end while.

            
return empty($tmpResult) ? NULL : $tmpResult;

        }

    }

    
/* 显示错误信息 $debugString用于调试,$errString用于给客户显示 */
    
function showErr()
    {

        
//echo $this->debugString."/n";

    
}

    
/* 关闭连接,释放内存 */
    
function close()
    {
        @
mysql_free_result($this->resultid);
        @
mysql_close($this->connid);
    }

    function
__destruct()
    {
        if(
$this->connid)
        {

            
$this->close();
        }
    }
}
/* 数据库查询类  end*/
?>  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值