淺談PHP值mysql操作類

字號(hào):


    下面小編就為大家?guī)硪黄獪\談PHP值mysql操作類。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。
    淺談PHP值mysql操作類
    <?php
    /**
     * Created by PhpStorm.
     * User: Administrator
     * Date: 2016/6/27
     * Time: 18:55
     */
    Class Mysqls{
      private $table; //表
      private $opt;
      public function __construct($host,$user,$pwd,$name,$table_names)
      {
        $this->db=new mysqli($host,$user,$pwd,$name); //數(shù)據(jù)庫連接
        if(mysqli_connect_errno()){
          echo "數(shù)據(jù)庫連接錯(cuò)誤".mysqli_connect_errno();
          exit();
        }
        $this->db->query("set names utf8");
        $this->table=$table_names;
        $this->opt['field']="*";
        $this->opt['where']=$this->opt['Order']=$this->opt['Limit']=$this->opt['Group']='';
    //    var_dump($this->opt['where']);
        //$this->M($table_names);
      }
      //數(shù)據(jù)庫連接
    //  protected function M($table_name){
    //    $this->db=new mysqli(DBHOST,DBUSER,DBPWD,DBNAME);
    //
    //    if(mysqli_connect_errno()){
    //      echo "數(shù)據(jù)庫連接錯(cuò)誤".mysqli_connect_errno();
    //      exit();
    //    }
    //    $this->db->query("set names utf8");
    //    $this->table=$table_name;
    //  }
      //表中的字段
      public function tbField(){
        $desc=$this->db->query("DESC {$this->table}");
        $fieldArr=array();
        while(($row=$desc->fetch_assoc())!=false){
          $fieldArr[]=$row['Field'];
        }
        // var_dump($fieldArr);
        return $fieldArr;
      }
      //查詢字段
      public function field($filed){
        //拆分字段
        $filedArr=is_string($filed)?explode(",",$filed):$filed;
        if(is_array($filedArr)){
          $filed='';
          foreach($filedArr as $v){
            $filed.="'".$v."'".",";
          }
        }
        //var_dump($filed);
        return rtrim($filed,",");
      }
      //判斷字段是否存在
      public function isfield($fileds)
      {
        $filedArr=is_string($fileds)?explode(",",$fileds):$fileds;
        $tbFiled=$this->tbField();
        //var_dump( $tbFiled);
        foreach($filedArr as $v){
          if(!in_array($v,$tbFiled)){
             echo "字段輸入發(fā)錯(cuò)";
          }
        }
      }
      //條件語句
      public function where($where){
         $this->opt['where']=is_string($where)?" WHERE {$where}":"不是字符串";
        return $this;
      }
      //Limit
      public function Limit($limit){
         $this->opt['Limit']=is_string($limit)?" Limit {$limit}":"不是字符串";
        return $this;
      }
      public function Order($order){
         $this->opt['Order']=is_string($order)?" Order By {$order}":"不是字符串";
        return $this;
      }
      public function Group($group){
        $this->opt['Group']=is_string($group)?" Group BY {$group}":"不是字符串";
        return $this;
      }
      // 查詢字符串
      public function select(){
        $sql="select * from {$this->table} {$this->opt['where']} {$this->opt['Group']} {$this->opt['Limit']} {$this->opt['Order']}";
        return $this->fetch($sql);
      }
      //結(jié)果集查詢
      public function fetch($sql){
        $result=$this->db->query($sql);
        $sqlarr=array();
        while(($row=$result->fetch_assoc())!=false){
          $sqlarr[]=$row;
        }
        // var_dump($sqlarr);
        return $sqlarr;
      }
      //無結(jié)果集查詢
      public function querys($sql){
        $sqls=$this->db->query($sql);
        return $this->db->affected_rows;
      }
      //刪除語句
      public function delete($where=array()){
        if($where=="" && empety($this->opt['where'])) die(" 不能為空");
        if($where!=""){
          if(is_array($where)){
            $where=implode(",",$where);
          }
          $this->opt['where']=" WHERE id IN({$where})";
        }
        $sql="delete from {$this->table} {$this->opt['where']} {$this->opt['Limit']}";
        var_dump($sql);
        //return $this->query($sql);
      }
      //數(shù)組鍵名
      public function key($key){
        if(!is_array($key))die("非法數(shù)組");
        $keys="";
        foreach($key as $v){
          $keys.=$v.",";
        }
        return rtrim($keys,",");
      }
      //數(shù)組值
      public function value($value){
        if(!is_array($value))die("非法數(shù)組");
        $strvalue="";
        foreach($value as $v){
          $strvalue.="'".$v."'".",";
        }
        return rtrim($strvalue,",");
      }
      //添加語句
      public function add($filed){
        if(!is_array($filed)) die("非法數(shù)組");
        $fileds=$this->key(array_keys($filed)); //返回?cái)?shù)組中的鍵名
        //var_dump($fileds);
        $values=$this->value(array_values($filed));
        $sql="insert into {$this->table}({$fileds})VALUES($values)";
        //var_dump($sql);
        return $this->querys($sql);
      }
      //查找單條記錄
      public function find($field,$id){
        $sql="select {$this->opt['field']} from {$this->table} {$this->where($field.'='."'".$id."'")}";
        var_dump($sql);
        return $this->fetch($sql);
      }
      //更新語句
      public function save($arrs){
        if(!is_array($arrs))die("非法的數(shù)組");
        //if(empty($this->opt['where']))die("條件不能為空");
        $str="";
        while(list($k,$v)=each($arrs))
        {
          $str="{$k}="."'{$v}',";
        }
        $str=rtrim($str,",");
        $sql="Update {$this->table} set {$str}{$this->opt['where']}";
        return $this->querys($sql);
      }
      //獲取總記錄數(shù)
      public function counts(){
        $sql="select 'id' from {$this->table}{$this->opt['where']}";
        //var_dump($sql);
        return $this->querys($sql);
      }
    }
    $db=new Mysqls('127.0.0.1','root','','mysql','user');
    寫的一部分有問題 參考了別人一部分。
    以上就是小編為大家?guī)淼臏\談PHP值mysql操作類全部內(nèi)容了