PHP封装的mysqli数据库操作类示例


Posted in PHP onFebruary 16, 2019

本文实例讲述了PHP封装的mysqli数据库操作类。分享给大家供大家参考,具体如下:

由于PHPMySQL操作在PHP5.4以下被弃用而推荐使用mysqli(MySQL Improvement),这里是在我原有的MySQL数据库操作类的基础上加以改进而编写出的MySQLI数据库操作类,整体代码与MySQL数据库操作类大致相同,直接实例化db_class即可

<?php
class db_class{
    public $db_url; //连接地址
    public $db_username; //连接名
    public $db_userpassword; //连接密码
    public $db_name; //数据库名
    public $db_tablename; //表名
    public $db_conn; //数据库连接
    public $db_order;
    public $db_limit;
    public function db_getconn(){ //连接数据库
        $this->db_conn= mysqli_connect($this->db_url,$this->db_username,$this->db_userpassword,$this->db_name);
        if (!$this->db_conn)
        {
      echo "连接 MySQL 失败: " . mysqli_connect_error();
    }
    }
    public function __construct($db_url,$db_username,$db_userpassword,$db_name){ //构造方法赋值
    $this->db_url=$db_url;
        $this->db_username=$db_username;
        $this->db_userpassword=$db_userpassword;
        $this->db_name=$db_name;
        $this->db_order="";
        $this->db_limit="";
        $this->db_getconn();
    mysqli_query($this->db_conn,'set names utf8');
    }
    public function db_settablename($db_tablename){ //设置表名
        $this->db_tablename=$db_tablename;
    }
    public function db_setorder($str){ //排序操作
        $this->db_order="order by $str";
    }
    public function db_setlimit($start,$end){ //分页操作
     $this->db_limit="limit $start,$end";
    }
    public function db_select($typearr="",$where=""){ //查询操作
        if(empty($typearr)){
            $typearr="*";
        }
        else{
            $typearr=implode(",",$typearr);
        }
        if(empty($where)){
            $where="";
        }else{
            $where="where ".$where;
        }
        $arr=array();
        $sql="select $typearr from $this->db_tablename $where $this->db_order $this->db_limit ";
        $result = mysqli_query($this->db_conn,$sql);
        while($row = $result->fetch_array()) {
            $arr[]=$row;
        }
        return $arr;
    }
    public function db_update($typearr,$valuearr,$where=""){ //更新操作
    $sql="";
        if(empty($where)){
            $where="";
        }else{
            $where=" where ".$where;
        }
        $sql.="update $this->db_tablename set ";
         foreach ($typearr as $key=>$value){
             if(count($typearr)-1==$key){
                 $sql.=$value."='".$valuearr[$key]."'";
             }else{
                 $sql.=$value."='".$valuearr[$key]."'".",";
             }
         }
        $sql.=$where;
    mysqli_query($this->db_conn,$sql);
    }
    public function db_delete($typestr,$valuestr){ //删除操作
    $sql="delete from $this->db_tablename WHERE $typestr=$valuestr";
    mysqli_query($this->db_conn,$sql);
    }
    public function db_insert($typearr,$valuearr){ //插入操作
        $sql="insert into $this->db_tablename(".implode(",", $typearr).") values(".implode(",", $valuearr).")";
    mysqli_query($this->db_conn,$sql);
    }
    public function __destruct(){ //析构方法关闭连接
        mysqli_close($this->db_conn);
    }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
一个简单且很好用的php分页类
Oct 26 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
Nov 28 PHP
PHP入门之常量简介和系统常量
May 12 PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 PHP
ThinkPHP模板自定义标签使用方法
Jun 26 PHP
php中stdClass的用法分析
Feb 27 PHP
基于php的微信公众平台开发入门实例
Apr 15 PHP
手把手编写PHP框架 深入了解MVC运行流程
Sep 19 PHP
PDO::commit讲解
Jan 27 PHP
YII框架实现自定义第三方扩展操作示例
Apr 26 PHP
Laravel框架实现文件上传的方法分析
Sep 29 PHP
laravel 自定义常量的两种方案
Oct 14 PHP
PHP fprintf()函数用法讲解
Feb 16 #PHP
PHP explode()函数用法讲解
Feb 15 #PHP
php二维数组按某个键值排序的实例讲解
Feb 15 #PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
Feb 15 #PHP
实例讲解PHP表单验证功能
Feb 15 #PHP
实例讲解PHP表单处理
Feb 15 #PHP
PHP+mysql实现的三级联动菜单功能示例
Feb 15 #PHP
You might like
一些php技巧与注意事项分析
2011/02/03 PHP
php实现字符串首字母转换成大写的方法
2015/03/17 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
浅谈thinkphp的nginx配置,以及重写隐藏index.php入口文件方法
2019/10/12 PHP
document.all与WEB标准
2020/05/13 Javascript
jQuery-serialize()输出序列化form表单值的方法
2012/12/26 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
TypeScript 学习笔记之基本类型
2015/06/19 Javascript
jquery自定义插件开发之window的实现过程
2016/05/06 Javascript
设置点击文本框或图片弹出日历控件的实现代码
2016/05/12 Javascript
js判断是否为空和typeof的用法(详解)
2016/10/07 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
Vue-Access-Control 前端用户权限控制解决方案
2017/12/01 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
JavaScript箭头函数中的this详解
2019/06/19 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
vue实现axios图片上传功能
2019/08/20 Javascript
Pandas标记删除重复记录的方法
2018/04/08 Python
Falsk 与 Django 过滤器的使用与区别详解
2019/06/04 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
Python爬虫爬取有道实现翻译功能
2020/11/27 Python
收集的22款给力的HTML5和CSS3帮助工具
2012/09/14 HTML / CSS
你们项目是如何进行变更控制的
2015/08/26 面试题
《灯光》教学反思
2014/02/08 职场文书
2014年健康教育实施方案
2014/02/17 职场文书
主管竞聘书范文
2014/03/31 职场文书
《微笑着面对生活》优秀演讲稿范文
2014/09/23 职场文书
第一书记观后感
2015/06/08 职场文书
2016应届大学生自荐信模板
2016/01/28 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
JavaWeb 入门篇(3)ServletContext 详解 具体应用
2021/07/16 Java/Android
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
德劲DE1105机评
2022/04/05 无线电