浅谈PHP值mysql操作类

5年以前  |  阅读数:383 次  |  编程语言:PHP 

浅谈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); //数据库连接



        if(mysqli_connect_errno()){

          echo "数据库连接错误".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);



      }



      //数据库连接

    //  protected function M($table_name){

    //    $this->db=new mysqli(DBHOST,DBUSER,DBPWD,DBNAME);

    //

    //    if(mysqli_connect_errno()){

    //      echo "数据库连接错误".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 "字段输入发错";

          }

        }



      }

      //条件语句

      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);

      }

      //结果集查询

      public function fetch($sql){

        $result=$this->db->query($sql);

        $sqlarr=array();

        while(($row=$result->fetch_assoc())!=false){

          $sqlarr[]=$row;

        }

        // var_dump($sqlarr);

        return $sqlarr;

      }

      //无结果集查询

      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);

      }

      //数组键名

      public function key($key){

        if(!is_array($key))die("非法数组");

        $keys="";

        foreach($key as $v){

          $keys.=$v.",";



        }

        return rtrim($keys,",");

      }

      //数组值

      public function value($value){

        if(!is_array($value))die("非法数组");

        $strvalue="";

        foreach($value as $v){

          $strvalue.="'".$v."'".",";

        }

        return rtrim($strvalue,",");

      }



      //添加语句

      public function add($filed){

        if(!is_array($filed)) die("非法数组");

        $fileds=$this->key(array_keys($filed)); //返回数组中的键名

        //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("非法的数组");

        //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);





      }

      //获取总记录数

      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');

写的一部分有问题 参考了别人一部分。

以上就是小编为大家带来的浅谈PHP值mysql操作类全部内容了,希望大家多多支持脚本之家~

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例