浅谈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操作Access类(PHP+ODBC+Access)
Jan 02 PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
Mar 19 PHP
php实现mysql数据库备份类
Mar 20 PHP
PHP strncasecmp字符串比较的小技巧
Jan 04 PHP
php正则表达匹配中文问题分析小结
Mar 25 PHP
php连接mssql的一些相关经验及注意事项
Feb 05 PHP
php include和require的区别深入解析
Jun 17 PHP
php使用异或实现的加密解密实例
Sep 04 PHP
PHP命名空间(Namespace)简明教程
Jun 11 PHP
php微信公众账号开发之前五个坑(一)
Sep 18 PHP
浅谈PHP中类和对象的相关函数
Apr 26 PHP
PHP设计模式之适配器模式原理与用法分析
Apr 25 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 session应用实例 登录验证
2009/03/16 PHP
PHP中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
php 数组处理函数extract详解及实例代码
2016/11/23 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
2013/06/05 Javascript
让js弹出窗口居前显示的实现方法
2013/07/10 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
javascript刷新父页面的各种方法汇总
2014/09/03 Javascript
JavaScript获取页面中超链接数量的方法
2015/11/09 Javascript
vue.js事件处理器是什么
2017/03/20 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
微信小程序实现树莓派(raspberry pi)小车控制
2020/02/12 Javascript
jQuery实现的分页插件完整示例
2020/05/26 jQuery
Python里disconnect UDP套接字的方法
2015/04/23 Python
python访问系统环境变量的方法
2015/04/29 Python
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
python绘制多个曲线的折线图
2020/03/23 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
解决django model修改添加字段报错的问题
2019/11/18 Python
Python 中@property的用法详解
2020/01/15 Python
基于python实现计算且附带进度条代码实例
2020/03/31 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
武汉英思工程科技有限公司&ndash;ORACLE面试测试题目
2012/04/30 面试题
学校食堂采购员岗位职责
2013/12/05 职场文书
高中综合实践活动总结
2014/07/07 职场文书
党的生日活动方案
2014/08/15 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
2019已经过半,你知道年中工作总结该怎么写吗?
2019/07/03 职场文书
python双向链表实例详解
2022/05/25 Python