浅谈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 相关文章推荐
动态生成gif格式的图像要注意?
Oct 09 PHP
php设计模式 Composite (组合模式)
Jun 26 PHP
第二章 PHP入门基础之php代码写法
Dec 30 PHP
php之XML转数组函数的详解
Jun 07 PHP
基于xcache的配置与使用详解
Jun 18 PHP
php获取远程图片体积大小的实例
Nov 12 PHP
微信公众号开发之微信公共平台消息回复类实例
Nov 14 PHP
PHP中Http协议post请求参数
Nov 02 PHP
ThinkPHP打水印及设置水印位置的方法
Oct 14 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
Oct 29 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 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
thinkPHP5.0框架简单配置作用域的方法
2017/03/17 PHP
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
datagrid框架的删除添加与修改
2013/04/08 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
2013/12/11 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
JavaScript获取页面中超链接数量的方法
2015/11/09 Javascript
Zabbix添加Node.js监控的方法
2016/10/20 Javascript
bootstrap+jQuery实现的动态进度条功能示例
2017/05/25 jQuery
Vue+ElementUI实现表单动态渲染、可视化配置的方法
2018/03/07 Javascript
JS实现图片切换效果
2018/11/17 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
[46:02]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第二局
2016/02/28 DOTA
python实现逆波兰计算表达式实例详解
2015/05/06 Python
Django框架下在视图中使用模版的方法
2015/07/16 Python
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
Python 对象中的数据类型
2017/05/13 Python
用Python编写一个高效的端口扫描器的方法
2018/12/20 Python
python 自定义装饰器实例详解
2019/07/20 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
django从后台返回html代码的实例
2020/03/11 Python
如何基于Python代码实现高精度免费OCR工具
2020/06/18 Python
python 从list中随机取值的方法
2020/11/16 Python
python regex库实例用法总结
2021/01/03 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
关于canvas绘制模糊问题的解决方法
2019/09/24 HTML / CSS
Sneaker Studio捷克:购买运动鞋
2018/07/08 全球购物
如何开发一个JQuery插件
2016/07/28 面试题
网络技术专业求职信
2014/02/18 职场文书
求职个人评价范文
2014/04/09 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
学校法制宣传月活动总结
2014/07/03 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
python利用while求100内的整数和方式
2021/11/07 Python