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中理解print EOT分界符和echo EOT的用法区别小结
Feb 21 PHP
PHP 开发环境配置(Zend Studio)
Apr 28 PHP
php如何调用webservice应用介绍
Nov 24 PHP
PHP中如何定义和使用常量
Feb 28 PHP
php中将一个对象保存到Session中的方法
Mar 13 PHP
PHP 常用的header头部定义汇总
Jun 19 PHP
PHP实现根据时间戳获取周几的方法
Feb 26 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
redis查看连接数及php模拟并发创建redis连接的方法
Dec 15 PHP
浅谈PHP命令执行php文件需要注意的问题
Dec 16 PHP
php中实现字符串翻转的方法
Feb 22 PHP
Yii支持多域名cors原理的实现
Dec 05 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结合web uploader插件实现分片上传文件
2016/05/10 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
flash 得到自身url参数的代码
2009/11/15 Javascript
Javascript 通过json自动生成Dom的代码
2010/04/01 Javascript
JavaScript高级程序设计 错误处理与调试学习笔记
2011/09/10 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
php和js对数据库图片进行等比缩放示例
2014/04/28 Javascript
jquery 取子节点及当前节点属性值
2014/07/25 Javascript
3个可以改善用户体验的AngularJS指令介绍
2015/06/18 Javascript
js实现的简洁网页滑动tab菜单效果代码
2015/08/24 Javascript
JavaScript编写简单的计算器
2015/11/25 Javascript
Angularjs中controller的三种写法分享
2016/09/21 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
2020/11/24 Javascript
AngularJS之自定义服务详解(factory、service、provider)
2017/04/14 Javascript
基于jQuery的表单填充实例
2017/08/22 jQuery
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
使用vue-cli(vue脚手架)快速搭建项目的方法
2018/05/21 Javascript
JavaScript中变量提升与函数提升经典实例分析
2018/07/26 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
详解python的几种标准输出重定向方式
2016/08/15 Python
详解python开发环境搭建
2016/12/16 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
Python安装图文教程 Pycharm安装教程
2018/03/27 Python
Python 修改列表中的元素方法
2018/06/26 Python
在python中安装basemap的教程
2018/09/20 Python
Python collections模块的使用方法
2020/10/09 Python
Michael Kors英国官网:美国奢侈品品牌
2019/11/13 全球购物
澳大利亚最便宜的网上药房:Chemist Warehouse
2020/01/30 全球购物
人力资源管理专业学生自我评价
2013/11/20 职场文书
实习生个人的自我评价
2013/12/08 职场文书
自我鉴定标准格式
2014/03/19 职场文书
开业典礼致辞
2015/07/29 职场文书
新学期小学班主任工作计划
2019/06/21 职场文书
Python利器openpyxl之操作excel表格
2021/04/17 Python