浅谈PHP值mysql操作类


Posted in PHP onJune 29, 2016

浅谈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 相关文章推荐
PHP MSSQL 存储过程的方法
Dec 24 PHP
PHP下打开URL地址的几种方法小结
May 16 PHP
php文字水印和php图片水印实现代码(二种加水印方法)
Dec 25 PHP
经典PHP加密解密函数Authcode()修复版代码
Apr 05 PHP
php操作memcache缓存方法分享
Jun 03 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
Jun 12 PHP
php cookie用户登录的详解及实例代码
Jan 03 PHP
Yii框架实现记录日志到自定义文件的方法
May 23 PHP
php实现的rc4加密解密类定义与用法示例
Aug 16 PHP
PHP常用函数之根据生日计算年龄功能示例
Oct 21 PHP
基于PHP实现用户登录注册功能的详细教程
Aug 04 PHP
php判断IP地址是否在多个IP段内
Aug 18 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
Jun 28 #PHP
php 在字符串指定位置插入新字符的简单实现
Jun 28 #PHP
PHP数组实例详解
Jun 26 #PHP
php微信开发之批量生成带参数的二维码
Jun 26 #PHP
php日期操作技巧小结
Jun 25 #PHP
php项目开发中用到的快速排序算法分析
Jun 25 #PHP
php函数传值的引用传递注意事项分析
Jun 25 #PHP
You might like
php不使用插件导出excel的简单方法
2014/03/04 PHP
JavaScript Undefined,Null类型和NaN值区别
2008/10/22 Javascript
Javascript Select操作大集合
2009/05/26 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
原生js仿jquery一些常用方法(必看篇)
2016/09/20 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
JS实现弹出下载对话框及常见文件类型的下载
2017/07/13 Javascript
jQuery实现表格冻结顶栏效果
2017/08/20 jQuery
vue 使用html2canvas将DOM转化为图片的方法
2018/09/11 Javascript
JS精确判断数据类型代码实例
2019/12/18 Javascript
基于javascript实现碰撞检测
2020/03/12 Javascript
python通过邮件服务器端口发送邮件的方法
2015/04/30 Python
Python中用于返回绝对值的abs()方法
2015/05/14 Python
python读取文件名称生成list的方法
2018/04/27 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
Python中的With语句的使用及原理
2020/07/29 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
德国电子商城:ComputerUniverse
2017/04/21 全球购物
Java提供了哪些企业应用编程接口
2015/02/13 面试题
数学专业推荐信范文
2013/11/21 职场文书
家长对学生的评语
2014/04/18 职场文书
经营管理策划方案
2014/05/22 职场文书
餐厅周年庆活动方案
2014/08/25 职场文书
政风行风评议工作总结
2014/10/21 职场文书
优秀团员事迹材料
2014/12/25 职场文书
本溪关门山导游词
2015/02/09 职场文书
2015年教师学期工作总结
2015/04/30 职场文书
爱心捐款活动总结
2015/05/09 职场文书
歌剧魅影观后感
2015/06/05 职场文书
小学教育见习总结
2015/06/23 职场文书
团委副书记工作总结
2015/08/14 职场文书
超市店长竞聘书
2015/09/15 职场文书
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python