Mysql封装类

<?php
header("Content-Type:text/html;charset=utf-8");
//封装数据库类
//增 删 改 查
class DB{
    public $server; //数据库服务器名称
    public $username; //用户名
    public $password; //密码
    public $dbname; //默认数据库名称
    public $result; //select查询返回的资源
    public $rowCount; //select查询返回的行数
    static $obj = null;

    private function __construct($server,$username,$password,$dbname){
        $this->server = $server;
        $this->username = $username;
        $this->password = $password;
        $this->dbname = $dbname;
        //连接数据库
        $this->connect();
        //选择默认数据库
        $this->selectDB();
    }
    //静态化成员方法,实例化类 获取类对象
    static function getObj($server,$username,$password,$dbname){
        if(is_null(self::$obj)){
            self::$obj = new DB($server,$username,$password,$dbname);
        }
        return self::$obj;
    }
    //连接数据库
    function connect(){
        mysql_connect($this->server,
                       $this->username,
                      $this->password);
    }
    //选择默认数据库
    function selectDB(){
        mysql_select_db($this->dbname);
    }

    //数据库类增
    function insert($tbname,$data){
        //拆分$data数组
        /*$data = array('uname'=>'tom02','pwd'=>'666');
         * $fields = uname,pwd
         * 
         */
        //获取$data的键
        $fields_array = array_keys($data);
        //将数组转换为字符串
        $fields = implode(",",$fields_array);
        //$value = 'tom02','666'
        $value = implode("','",$data);
        //echo $value;
        //user 添加记录
        $query = "insert into $tbname 
                  ($fields)
                  value
                  ('".$value."')";
        echo $query;
        $result = mysql_query($query);
        return $result;//boolean
    }

    //删
    function delete($tbname,$where=""){
        //$where = id=41
        $query = "delete from $tbname";
        if($where!=""){
            $query.=" where $where";
        }       
        $result = mysql_query($query);
        return $result;
    }

    //改 update
    function update($tbname,$sets,$where=""){
        //$sets = array('title'=>'判17年',
        //'content'=>'安徽原副省长倪发科判17年');
        //update cms_article set 
        //title='判17年',content='安徽原副省长倪发科判17年'
        //where 
        $data = "";
        foreach($sets as $key=>$value){
            //判断$data是否为空,若为空,则表示是第一次连接
            //key = value,不需要 ,
            if($data!=""){
                $data.=",";
            }
            $data.= $key."='".$value."'";//title='判17年'
                                 //content='安徽原副省长倪发科判17年'
        }       

        $query = "update $tbname set $data "; 
        if($where!=""){
            $query.=" where $where";
        }
        //echo $query;exit;
        $result = mysql_query($query);
        return $result;
    }

    //查
    function select($tbname,$fields,$where="",$limit="",$join=""){
        $query = "select $fields from $tbname";
        if($join!=""){
            $query.=" ".$join;
        }
        if($where!=""){
            $query.=" where $where";
        }

        if($limit!=""){
            $query.=" limit $limit";
        }
        echo $query;
        $this->result = mysql_query($query);
        //获取查询的结果
        return $this->getResult();     
    }

    //从select查询的资源中获取查询的结果
    function getResult(){
        while($row=mysql_fetch_assoc($this->result)){
            $res[] = $row;
        }
        //获取查询结果集的行数
        $this->rowCount = mysql_num_rows($this->result);        
        return $res;
    }
}










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值