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转成EXE文件
Oct 09 PHP
PHP的中问验证码
Nov 25 PHP
MYSQL环境变量设置方法
Jan 15 PHP
PHP 获取目录下的图片并随机显示的代码
Dec 28 PHP
php中并发读写文件冲突的解决方案
Oct 25 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
Jun 30 PHP
ThinkPHP模板判断输出Empty标签用法详解
Jun 30 PHP
PHP会话处理的10个函数
Aug 11 PHP
Zend Framework教程之MVC框架的Controller用法分析
Mar 07 PHP
PHP中include()与require()的区别说明
Feb 14 PHP
php微信开发之关注事件
Jun 14 PHP
php操作redis命令及代码实例大全
Nov 19 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发送有附件的电子邮件-(PHPMailer使用的实例分析)
2013/04/26 PHP
PHP禁止个别IP访问网站
2013/10/30 PHP
PHP变量赋值、代入给JavaScript中的变量
2015/06/29 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
2020/04/26 PHP
可输入的下拉框
2006/06/19 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
2011/05/07 Javascript
jquery获得下拉框值的代码
2011/08/13 Javascript
Javascript this 的一些学习总结
2012/08/31 Javascript
用js写了一个类似php的print_r输出换行功能
2013/02/18 Javascript
JS JSOP跨域请求实例详解
2016/07/04 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
JavaScript对JSON数据进行排序和搜索
2017/07/24 Javascript
JavaScript实现短信倒计时60s
2017/10/09 Javascript
详解webpack之scss和postcss-loader的配置
2018/01/09 Javascript
Angular6使用forRoot() 注册单一实例服务问题
2019/08/27 Javascript
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
Python二叉树的遍历操作示例【前序遍历,中序遍历,后序遍历,层序遍历】
2018/12/24 Python
python占位符输入方式实例
2019/05/27 Python
解决python中使用PYQT时中文乱码问题
2019/06/17 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
python实现ping命令小程序
2020/12/28 Python
HTML5注册表单的自动聚焦与占位文本示例代码
2013/07/19 HTML / CSS
基本款天堂:Everlane
2017/05/13 全球购物
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
GWT (Google Web Toolkit)有哪些主要的原件组成?
2015/06/08 面试题
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
党员证明模板
2015/06/19 职场文书
技术转让协议书
2016/03/19 职场文书
Java实现简易的分词器功能
2021/06/15 Java/Android
frg-100简单操作(设置)说明
2022/04/05 无线电
关于Redis的主从复制及哨兵问题
2022/06/16 Redis