浅谈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
WIN98下Apache1.3.14+PHP4.0.4的安装
Oct 09 PHP
JS实现php的伪分页
May 25 PHP
php中对xml读取的相关函数的介绍一
Jun 05 PHP
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
基于php上传图片重命名的6种解决方法的详细介绍
Apr 28 PHP
php变量作用域的深入解析
Jun 03 PHP
Linux环境下php实现给网站截图的方法
May 03 PHP
thinkPHP中验证码的简单实现方法
Dec 05 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
Mar 25 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
PHP的PDO错误与错误处理
Jan 27 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水印
2007/03/16 PHP
改变Apache端口等配置修改方法
2008/06/05 PHP
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
保存到桌面、设为桌面且带图标的PHP代码
2013/11/19 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
Javascript 函数中的参数使用分析
2010/03/27 Javascript
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
javascript操作html控件实例(javascript添加html)
2013/12/02 Javascript
用js判断输入是否为中文的函数
2014/03/10 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
2014/03/27 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
Javascript的无new构建实例详解
2016/05/15 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
2016/07/08 Javascript
深入学习jQuery中的data()
2016/12/22 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
Three.js入门之hello world以及如何绘制线
2017/09/25 Javascript
vue2组件之select2调用的示例代码
2017/10/12 Javascript
js实现指定时间倒计时效果
2019/08/26 Javascript
python判断一个集合是否包含了另外一个集合中所有项的方法
2015/06/30 Python
django批量导入xml数据
2016/10/16 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
Python中如何添加自定义模块
2020/06/09 Python
详解HTML5 Canvas标签及基本使用
2020/01/10 HTML / CSS
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
中学教师实习自我鉴定
2013/09/28 职场文书
电钳专业个人求职信
2014/01/04 职场文书
银行存款证明样本
2014/01/17 职场文书
化妆品促销方案
2014/02/24 职场文书
主管竞聘书范文
2014/03/31 职场文书
立志成才演讲稿
2014/09/04 职场文书
2014年高二班主任工作总结
2014/12/16 职场文书
护士先进个人总结
2015/02/13 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
Tomcat 与 maven 的安装与使用教程
2022/06/16 Servers