>  기사  >  백엔드 개발  >  전체 mysql 클래스 주석

전체 mysql 클래스 주석

WBOY
WBOY원래의
2016-08-08 09:32:17890검색

구성 파일 섹션

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

define(&#39;DB_MS&#39;,&#39;mysql&#39;);            //服务器
define(&#39;DB_USER&#39;,&#39;root&#39;);           //数据库用户名
define(&#39;DB_PASSWD&#39;,&#39;111&#39;);          //数据库密码
define(&#39;DB_NAME&#39;,&#39;bbs&#39;);            //使用数据库
define(&#39;DB_HOST&#39;,&#39;localhost&#39;);      //数据库服务器
define(&#39;DB_COD&#39;,&#39;utf8&#39;);            //数据库编码
define(&#39;DB_DSN&#39;,DB_MS.&#39;:host=&#39;.DB_HOST.&#39;;dbname=&#39;.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].&#39;,&#39;;
                $val.=$value[$j].&#39;,&#39;;
            }
            $col = rtrim($column,&#39;,&#39;);
            $value = rtrim($val,&#39;,&#39;);
            $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();

위 내용은 내용의 측면을 포함하여 기사 전반에 걸쳐 mysql 클래스와 설명을 소개하고 있으므로 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.