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 相关文章推荐
ADODB的数据库封包程序库
Dec 31 PHP
MySQL的FIND_IN_SET函数使用方法分享
Mar 27 PHP
解析php安全性问题中的:Null 字符问题
Jun 21 PHP
PHP Session 变量的使用方法详解与实例代码
Sep 11 PHP
PHP数组遍历知识汇总(包含遍历方法、数组指针操作函数、数组遍历测速)
Jul 05 PHP
php一行代码获取文件后缀名实例分析
Nov 12 PHP
如何使用PHP对网站验证码进行破解
Sep 17 PHP
PHP封装的MSSql操作类完整实例
May 26 PHP
php实时倒计时功能实现方法详解
Feb 27 PHP
PHP实现的简单sha1加密功能示例
Aug 27 PHP
thinkphp3.2框架中where条件查询用法总结
Aug 13 PHP
Laravel 修改验证异常的响应格式实例代码详解
May 25 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 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
用PHP伪造referer突破网盘禁止外连的代码
2008/06/15 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
2011/06/02 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
浅谈php://filter的妙用
2019/03/05 PHP
php 使用mpdf实现指定字段配置字体样式的方法
2019/07/29 PHP
js压缩利器
2007/02/20 Javascript
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
JQuery判断HTML元素是否存在的两种解决方法
2013/12/26 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
使用Sticker.js实现贴纸效果
2015/01/28 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
2015/08/06 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
使用python实现扫描端口示例
2014/03/29 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
Python实现的飞速中文网小说下载脚本
2015/04/23 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
python读取Excel实例详解
2018/08/17 Python
python如何解析配置文件并应用到项目中
2019/06/27 Python
Python 读取用户指令和格式化打印实现解析
2019/09/02 Python
django框架auth模块用法实例详解
2019/12/10 Python
python3.7+selenium模拟淘宝登录功能的实现
2020/05/26 Python
解决Keras使用GPU资源耗尽的问题
2020/06/22 Python
python如何操作mysql
2020/08/17 Python
python性能测试工具locust的使用
2020/12/28 Python
教育实习生的自我评价分享
2013/11/21 职场文书
大学生的四年学习自我评价
2013/12/13 职场文书
写给妈妈的道歉信
2014/01/11 职场文书
仓库主管岗位职责
2014/03/02 职场文书
升职自荐信范文
2015/03/27 职场文书
小孩不笨观后感
2015/06/03 职场文书
基层医务人员三严三实心得体会
2016/01/05 职场文书
vue3中provide && inject的使用
2021/07/01 Vue.js