浅谈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利用COM对象访问SQLServer、Access
Oct 09 PHP
推荐php模板技术[转]
Jan 04 PHP
PHP中str_replace函数使用小结
Oct 11 PHP
基于Discuz security.inc.php代码的深入分析
Jun 03 PHP
php对象在内存中的存在形式分析
Feb 03 PHP
深入理解PHP内核(一)
Nov 10 PHP
ThinkPHP使用Smarty第三方插件方法小结
Mar 19 PHP
PHP实现判断数组是一维、二维或几维的方法
Feb 06 PHP
php 调用ffmpeg获取视频信息的简单实现
Apr 03 PHP
laravel 解决强制跳转 https的问题
Oct 22 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
Apr 23 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
Dec 16 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实现批量压缩图片文件大小的脚本
2014/07/04 PHP
php中单个数据库字段多列显示(单字段分页、横向输出)
2014/07/28 PHP
php数组随机排序实现方法
2015/06/13 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
详解yii2使用多个数据库的案例
2017/06/16 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
laravel框架学习笔记之组件化开发实现方法
2020/02/01 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
JavaScript 异步调用框架 (Part 6 - 实例 &amp; 模式)
2009/08/04 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
2019/11/09 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
Python操作SQLite简明教程
2014/07/10 Python
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
pybind11在Windows下的使用教程
2019/07/04 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
关于阿里云oss获取sts凭证 app直传 python的实例
2019/08/20 Python
python 字段拆分详解
2019/12/17 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
2013年大学生的自我鉴定
2013/10/24 职场文书
汽车技术服务英文求职信范文
2014/01/02 职场文书
音乐教学随笔感言
2014/02/19 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
个人催款函范文
2015/06/24 职场文书
前端使用svg图片改色实现示例
2022/07/23 HTML / CSS