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 curl 伪造IP来源的实例代码
Nov 01 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
Jun 20 PHP
php调用新浪短链接API的方法
Nov 08 PHP
PHP递归复制、移动目录的自定义函数分享
Nov 18 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
Mar 02 PHP
详谈PHP面向对象中常用的关键字和魔术方法
Feb 04 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
Apr 01 PHP
php smtp实现发送邮件功能
Jun 22 PHP
详解php几行代码实现CSV格式文件输出
Jul 01 PHP
PHP7扩展开发教程之Hello World实现方法示例
Aug 03 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
php实现QQ小程序发送模板消息功能
Sep 18 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
深入分析php中接口与抽象类的区别
2013/06/08 PHP
php实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
Jquery 插件开发笔记整理
2011/01/17 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
网页中表单按回车就自动提交的问题的解决方案
2014/11/03 Javascript
Javascript核心读书有感之类型、值和变量
2015/02/11 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
Node.js 条形码识别程序构建思路详解
2016/02/14 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
深入理解ES6中let和闭包
2018/02/22 Javascript
angularJs中跳转到指定的锚点实例($anchorScroll)
2018/08/31 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
javascript实现简易聊天室
2019/07/12 Javascript
Python的re模块正则表达式操作
2016/05/25 Python
解决Python 遍历字典时删除元素报异常的问题
2016/09/11 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
python中eval与int的区别浅析
2019/08/11 Python
解决Python3下map函数的显示问题
2019/12/04 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
如何通过命令行进入python
2020/07/06 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
Python爬虫进阶之爬取某视频并下载的实现
2020/12/08 Python
Django扫码抽奖平台的配置过程详解
2021/01/14 Python
关爱女孩行动实施方案
2014/03/13 职场文书
团拜会策划方案
2014/06/07 职场文书
大学英语专业求职信
2014/06/21 职场文书
2015公司年度工作总结
2015/05/14 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
Apache压力测试工具的安装使用
2021/03/31 Servers
php将xml转化对象的实例详解
2021/11/17 PHP