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格式化工具Beautify PHP小小BUG
Apr 24 PHP
国产PHP开发框架myqee新手快速入门教程
Jul 14 PHP
smarty内置函数capture用法分析
Jan 22 PHP
Thinkphp和onethink实现微信支付插件
Apr 13 PHP
php连接oracle数据库的核心步骤
May 26 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
Jun 24 PHP
PHP线程的内存回收问题
Jul 08 PHP
PHP输出XML格式数据的方法总结
Feb 08 PHP
mac系统下安装多个php并自由切换的方法详解
Apr 21 PHP
PHP删除字符串中非字母数字字符方法总结
Jan 20 PHP
Thinkphp5框架使用validate实现验证功能的方法
Aug 27 PHP
PHP获取真实IP及IP模拟方法解析
Nov 24 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
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
完美实现wordpress禁止文章修订和自动保存的方法
2014/11/03 PHP
YII2.0框架行为(Behavior)深入详解
2019/07/26 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
Javascript Throttle &amp; Debounce应用介绍
2013/03/19 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
JS实现Cookie读、写、删除操作工具类示例
2018/08/28 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
2020/05/20 Javascript
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python抓取百度首页的方法
2015/05/19 Python
实例Python处理XML文件的方法
2015/08/31 Python
Python面向对象基础入门之设置对象属性
2018/12/11 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
tensorflow模型继续训练 fineturn实例
2020/01/21 Python
如何基于线程池提升request模块效率
2020/04/18 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
python用700行代码实现http客户端
2021/01/14 Python
css3通过scale()、rotate()实现放大、旋转
2020/03/19 HTML / CSS
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
无谷物狗粮:Pooch & Mutt
2018/05/23 全球购物
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
专业销售业务员求职信
2013/11/18 职场文书
挂职自我鉴定
2014/02/26 职场文书
党的群众路线教育实践活动动员会主持词
2014/03/20 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
2015年学校政教处工作总结
2015/05/26 职场文书
2015入党个人自传范文
2015/06/26 职场文书
Nginx反爬虫策略,防止UA抓取网站
2021/03/31 Servers
Python实战之实现康威生命游戏
2021/04/26 Python
MySQL 全文索引使用指南
2021/05/25 MySQL
Python加密技术之RSA加密解密的实现
2022/04/08 Python
springcloud整合seata
2022/05/20 Java/Android