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 相关文章推荐
动态网站web开发 PHP、ASP还是ASP.NET
Oct 09 PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 PHP
PHP查询数据库中满足条件的记录条数(两种实现方法)
Jan 29 PHP
php函数与传递参数实例分析
Nov 15 PHP
PHP中isset与array_key_exists的区别实例分析
Jun 02 PHP
php如何获取文件的扩展名
Oct 28 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
PHP中读取文件的几个方法总结(推荐)
Jun 03 PHP
PHP判断json格式是否正确的实现代码
Sep 20 PHP
PHP创建自己的Composer包方法
Apr 09 PHP
PHP实现的用户注册表单验证功能简单示例
Feb 25 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 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留言本实例代码
2010/05/09 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
DWZ+ThinkPHP开发时遇到的问题分析
2016/12/12 PHP
php中的异常和错误浅析
2017/05/03 PHP
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
用jQuery模拟select下拉框的简单示例代码
2014/01/26 Javascript
js实现简单秒表走动的时钟特效
2020/03/25 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
jquery常用的12个小功能
2016/07/22 Javascript
js中数组插入、删除元素操作的方法
2017/02/15 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
详解Vue2的diff算法
2021/01/06 Vue.js
[13:21]DOTA2国际邀请赛采访专栏:RSnake战队国士无双,Fnatic.Fly
2013/08/06 DOTA
[03:52]DOTA2英雄基础教程 酒仙
2013/12/23 DOTA
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
tensorflow创建变量以及根据名称查找变量
2018/03/10 Python
python如何去除字符串中不想要的字符
2020/07/05 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
numpy:找到指定元素的索引示例
2019/11/26 Python
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
应用艺术专业个人的自我评价
2014/01/03 职场文书
优秀教师的感人事迹
2014/02/04 职场文书
年会搞笑主持词
2014/03/27 职场文书
外国人聘用意向书
2014/04/01 职场文书
党员公开承诺书2015
2015/01/21 职场文书
校长一岗双责责任书
2015/05/09 职场文书
2015暑假打工实践报告
2015/07/13 职场文书