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 相关文章推荐
一个目录遍历函数
Oct 09 PHP
PHP调用三种数据库的方法(2)
Oct 09 PHP
php a simple smtp class
Nov 26 PHP
php图片的裁剪与缩放生成符合需求的缩略图
Jan 11 PHP
php stream_get_meta_data返回值
Sep 29 PHP
PHPMailer发送HTML内容、带附件的邮件实例
Jul 01 PHP
PHP文件锁函数flock()详细介绍
Nov 18 PHP
PHP与Ajax相结合实现登录验证小Demo
Mar 16 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
Nov 06 PHP
PHP基于GD2函数库实现验证码功能示例
Jan 27 PHP
PHP信号处理机制的操作代码讲解
Apr 19 PHP
PHP使用Http Post请求发送Json对象数据代码解析
Jul 16 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 组件化编程技巧
2009/06/06 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
php preg_match的匹配不同国家语言实例
2016/12/29 PHP
php批量删除操作(数据访问)
2017/05/23 PHP
JSON 编辑器实现代码
2009/12/06 Javascript
javascript显示用户停留时间的简单实例
2013/08/05 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
jquery根据属性和index来查找属性值并操作
2014/07/25 Javascript
js带前后翻页的图片切换效果代码分享
2015/09/08 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
2015/12/04 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
基于jquery实现图片放大功能
2016/05/07 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
vue实现打地鼠小游戏
2020/08/21 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
pytorch点乘与叉乘示例讲解
2019/12/27 Python
python pandas移动窗口函数rolling的用法
2020/02/29 Python
Python Socketserver实现FTP文件上传下载代码实例
2020/03/27 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
python给视频添加背景音乐并改变音量的具体方法
2020/07/19 Python
用python爬虫批量下载pdf的实现
2020/12/01 Python
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
介绍一下gcc特性
2015/10/31 面试题
数学高效课堂实施方案
2014/03/29 职场文书
双拥工作宣传标语
2014/06/26 职场文书
领导党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
实习证明格式范文
2014/10/14 职场文书
交通事故赔偿起诉书
2015/05/20 职场文书
你知道哪几种MYSQL的连接查询
2021/06/03 MySQL
Centos系统通过Docker安装并搭建MongoDB数据库
2022/04/12 MongoDB