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+AJAX传送中文会导致乱码的问题的解决方法
Sep 08 PHP
PHP数组内存耗用太多问题的解决方法
Apr 05 PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
May 16 PHP
深入理解PHP原理之异常机制
Aug 21 PHP
zf框架的数据库追踪器使用示例
Mar 13 PHP
php基于str_pad实现卡号不足位数自动补0的方法
Nov 12 PHP
php+ajax实现无刷新的新闻留言系统
Dec 21 PHP
PHP接收json 并将接收数据插入数据库的实现代码
Dec 01 PHP
大家须知简单的php性能优化注意点
Jan 04 PHP
详解PHP swoole process的使用方法
Aug 26 PHP
PHP环形链表实现方法示例
Sep 15 PHP
PHP与SQL语句写一句话木马总结
Oct 11 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版自动生成文章摘要
2008/07/23 PHP
mysql 性能的检查和优化方法
2009/06/21 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
2014/04/24 PHP
PHP date函数常用时间处理方法
2015/05/11 PHP
PHP如何将log信息写入服务器中的log文件
2015/07/29 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
短信提示使用 特效
2007/01/19 Javascript
Javascript 个人笔记(没有整理,很乱)
2007/07/07 Javascript
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
2015/12/07 Javascript
jQuery基础的工厂函数以及定时器的经典实例分析
2016/05/20 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
2016/10/19 Javascript
JS正则子匹配实例分析
2016/12/22 Javascript
node.js与C语言 实现遍历文件夹下最大的文件,并输出路径,大小
2017/01/20 Javascript
Node.js五大应用性能技巧小结(必须收藏)
2017/08/09 Javascript
JS中的JSON对象的定义和取值实现代码
2018/05/09 Javascript
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
2020/12/19 Vue.js
[02:23]DOTA2英雄基础教程 幻影长矛手
2013/12/09 DOTA
Python最基本的输入输出详解
2015/04/25 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
使用python进行广告点击率的预测的实现
2019/07/04 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
canvas 橡皮筋式线条绘图应用方法
2019/02/13 HTML / CSS
金鑫耀Java笔试题
2014/09/06 面试题
咖啡厅创业计划书范本
2014/01/22 职场文书
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
学校领导干部民主生活会整改方案
2014/09/29 职场文书
2014年维修电工工作总结
2014/11/20 职场文书
2015年民主生活会发言材料
2014/12/15 职场文书
中学教师师德师风承诺书
2015/04/28 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书