浅谈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程序中的常见漏洞进行攻击
Oct 09 PHP
在PHP中执行系统外部命令
Oct 09 PHP
php实现rc4加密算法代码
Apr 25 PHP
php调整gif动画图片尺寸示例代码分享
Dec 05 PHP
PHP 登录完成后如何跳转上一访问页面
Jan 14 PHP
Yii把CGridView文本框换成下拉框的方法
Dec 03 PHP
PHP CURL 多线程操作代码实例
May 13 PHP
使用纯php代码实现页面伪静态的方法
Jul 25 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
Apr 07 PHP
PHP数组遍历的几种常见方式总结
Feb 15 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
Feb 20 PHP
tp5使用layui实现多个图片上传(带附件选择)的方法实例
Nov 17 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核心代码分析require和include的区别
2011/01/02 PHP
PHP目录函数实现创建、读取目录教程实例
2011/01/13 PHP
php操作XML、读取数据和写入数据的实现代码
2014/08/15 PHP
PHP判断是否为空的几个函数对比
2015/04/21 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
2016/11/14 PHP
php usort 使用用户自定义的比较函数对二维数组中的值进行排序
2017/05/02 PHP
PHP使用两个栈实现队列功能的方法
2018/01/15 PHP
Javascript var变量隐式声明方法
2009/10/19 Javascript
js 动态文字滚动的例子
2011/01/17 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
2016/08/17 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
基于JavaScript实现瀑布流效果
2017/03/29 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
JS获取input[file]的值并显示在页面的实现方法
2018/03/09 Javascript
基于jQuery实现无缝轮播与左右点击效果
2018/05/13 jQuery
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
基于Python中单例模式的几种实现方式及优化详解
2018/01/09 Python
Python使用Selenium+BeautifulSoup爬取淘宝搜索页
2018/02/24 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
网易有道2017内推编程题 洗牌(python)
2019/06/19 Python
澳大利亚领先的优质葡萄酒拍卖会:Langton’s Fine Wines
2019/03/24 全球购物
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
大学毕业感言一句话
2014/02/06 职场文书
2014厂务公开实施方案
2014/02/17 职场文书
教学质量评估实施方案
2014/03/17 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
好媳妇事迹材料
2014/12/24 职场文书
因个人原因离职的辞职信范文
2015/05/12 职场文书
Windows中Redis安装配置流程并实现远程访问功能
2021/06/07 Redis