mysql类 通篇注释

配置文件部分

<?php
/**
 * Created by wangsir
 * User: Administrator
 * Date: 14-12-22
 * Time: 上午9:29
 */

define('DB_MS','mysql');            //服务器
define('DB_USER','root');           //数据库用户名
define('DB_PASSWD','111');          //数据库密码
define('DB_NAME','bbs');            //使用数据库
define('DB_HOST','localhost');      //数据库服务器
define('DB_COD','utf8');            //数据库编码
define('DB_DSN',DB_MS.':host='.DB_HOST.';dbname='.DB_NAME);

<?php
/**
 * Created by wangsir.
 * Date: 14-12-22
 * Time: 上午9:22
 * 本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除。
 */


header("Content-Type:text/html;charset=utf-8");
//包含配置文件
require_once("config.ini.php");

class MySqli
{
    public $conn;            //保存数据库连接资源
    public $host;            //服务器
    public $username;        //数据库用户名
    public $password;        //数据密码
    public $dbname;          //数据库名
    public $cod;             //数据库编码

    public $dataTable;       //数据库表
    public $sql;             //sql语句
    public $where;           //条件
    public $limit;           //几条数据
    public $select;          //查询

    //数据库连接
    //这里采用读取配置文件的方式获取基本信息 也可以在构造函数传数组来解决同样的问题
    public function __construct($host=DB_HOST ,$username=DB_USER,$passwd=DB_PASSWD,$dbname=DB_NAME,$cod=DB_COD)
    {
        //获取数据库长连接,因为有长连接了所以就不在做单例模式
        $this->conn = new mysqli($host,$username,$passwd);
        $this->selectDb($dbname);
        $this->coding($cod);
    }

    //设置编码格式
    public function coding($cod)
    {
        mysql_query("SET CHARACTER SET ".$cod);
    }

    //读取某个库
    public function selectDb($dbname)
    {
        mysql_select_db($dbname,$this->conn);
    }

    //要查询什么字段 这个事查询的最后一步
    public function select($field="*")
    {
        $this->sql = "select ".$field." from ".$this->dataTable.$this->where.$this->limit;

    }

    //要使用哪个表
    public function table($tableName)
    {
        $this->dataTable = $tableName;
        return $this;
    }

    //执行操作
    public function query()
    {
        $res = mysql_query($this->sql);

        //是资源类型代表查询 返回结果数组
        if(is_resource($res))
        {
            //将返回二维数组
            while($row = mysql_fetch_assoc($res))
            {
                $arr[] = $row;
            }
            //返回一维数组
            foreach($arr as $key=>$value)
            {
                $ke = $value;
            }
            return $ke;
        }

    }

    //取得几个值 limit
    public function limit($limit)
    {
        $this->limit = ' limit '.$limit;
        return $this;
    }

    //where条件
    public function where($where)
    {
        $this->where = ' where '.$where;
        return $this;
    }

    //insert
    public function insert($insert)
    {
        //如果是索引数组
        if($this->is_assoc($insert))
        {
            //获取数组的key 也就是字段值
            $key = array_keys($insert);
            $value = array_values($insert);
            for($i=0,$j=0;$i<count($key),$j<count($value);$i++,$j++)
            {
                $column.=$key[$i].',';
                $val.=$value[$j].',';
            }
            $col = rtrim($column,',');
            $value = rtrim($val,',');
            $this->sql = "insert into ".$this->dataTable."($col) values($value)";

        }else{
            //如果不是索引数组 那么直接将数组转化为字符串
            $value = implode(',',$insert);
            $this->sql = "insert into ".$this->dataTable." values($value)";
        }
    }

    //修改
    public function update($update)
    {
        foreach($update as $key=>$value)
        {
            $data.=$key."=".$value.',';
        }
        $values = rtrim($data,',');
        $this->sql = "UPDATE ".$this->dataTable." SET $values ".$this->where;
    }

    //删除
    public function delete()
    {
        $this->sql = "DELETE FROM ".$this->dataTable.$this->where;
    }

    //判断是否为索引数组
    public function is_assoc($array) {
        if(is_array($array)) {
            $keys = array_keys($array);
            return $keys != array_keys($keys);
        }
        return false;
    }

}


//$b = array('CategoryID'=>9,'Name'=>11,'Description'=>22,'Priority'=>35);
//$b = array(4,5,6,7);
//$a = new MySqli();
//查询
//$sql = $a->table("guagua_category")->where('CategoryID=1')->limit(3)->select();
//$arr = $a->query();

//插入
//$sql = $a->table("guagua_category")->insert($b);
//$a->query();

//修改
//$sql = $a->table("guagua_category")->where("CategoryID=1")->update($b);
//$a->query();
//删除
//$sql = $a->table("guagua_category")->where("CategoryID=9")->delete();
//$a->query();


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值