PHP实现基于mysqli的Model基类完整实例


Posted in PHP onApril 08, 2016

本文实例讲述了PHP实现基于mysqli的Model基类。分享给大家供大家参考,具体如下:

DB.class.php

<?php
  //数据库连接类
  class DB {
     //获取对象句柄
     static public function getDB() {
       $_mysqli = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME);
       if (mysqli_connect_errno()) {
          echo '数据库连接错误!错误代码:'.mysqli_connect_error();
          exit();
       }
       $_mysqli->set_charset('utf8');
       return $_mysqli;
     }
     //清理,释放资源
     static public function unDB(&$_result, &$_db) {
       if (is_object($_result)) {
          $_result->free();
          $_result = null;
       }
       if (is_object($_db)) {
          $_db->close();
          $_db = null;
       }
     }
  }
?>

Model.class.php

<?php
  //模型基类
  class Model {
     //执行多条SQL语句
     public function multi($_sql) {
       $_db = DB::getDB();
       $_db->multi_query($_sql);
       DB::unDB($_result = null, $_db);
       return true;
     }
     //获取下一个增值id模型
     public function nextid($_table) {
       $_sql = "SHOW TABLE STATUS LIKE '$_table'";
       $_object = $this->one($_sql);
       return $_object->Auto_increment;
     }
     //查找总记录模型
     protected function total($_sql) {
       $_db = DB::getDB();
       $_result = $_db->query($_sql);
       $_total = $_result->fetch_row();
       DB::unDB($_result, $_db);
       return $_total[0];
     }
     //查找单个数据模型
     protected function one($_sql) {
       $_db = DB::getDB();
       $_result = $_db->query($_sql);
       $_objects = $_result->fetch_object();
       DB::unDB($_result, $_db);
       return Tool::htmlString($_objects);
     }
     //查找多个数据模型
    protected function all($_sql) {
       $_db = DB::getDB();
       $_result = $_db->query($_sql);
       $_html = array();
       while (!!$_objects = $_result->fetch_object()) {
          $_html[] = $_objects;
       }
       DB::unDB($_result, $_db);
       return Tool::htmlString($_html);
     }
     //增删修模型
     protected function aud($_sql) {
       $_db = DB::getDB();
       $_db->query($_sql);
       $_affected_rows = $_db->affected_rows;
       DB::unDB($_result = null, $_db);
       return $_affected_rows;
     }
  }
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php中CI操作多个数据库的代码
Jul 05 PHP
PHP 使用pcntl和libevent 实现Timer功能
Oct 27 PHP
ThinkPHP框架实现session跨域问题的解决方法
Jul 01 PHP
php保存二进制原始数据为图片的程序代码
Oct 14 PHP
9条PHP编程小知识及易犯的小错误
Jan 22 PHP
php实现的验证码文件类实例
Jun 18 PHP
PHP和Mysql中转UTF8编码问题汇总
Oct 10 PHP
深入解析WordPress中加载模板的get_template_part函数
Jan 11 PHP
PHP中__autoload和Smarty冲突的简单解决方法
Apr 08 PHP
关于PHP中字符串与多进制转换函数的实例代码
Nov 03 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
Aug 16 PHP
php生成带logo二维码方法小结
Apr 08 #PHP
PHP使用PDO操作数据库的乱码问题解决方法
Apr 08 #PHP
PHP中__autoload和Smarty冲突的简单解决方法
Apr 08 #PHP
初识ThinkPHP控制器
Apr 07 #PHP
PHP中PDO的事务处理分析
Apr 07 #PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
Apr 07 #PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 #PHP
You might like
点评山进PR-D3L三波段收音机
2021/03/02 无线电
Syphon 虹吸式咖啡壶冲煮–拨动法
2021/03/03 冲泡冲煮
php session和cookie使用说明
2010/04/07 PHP
php获取数组中重复数据的两种方法
2013/06/28 PHP
PHP使用SOAP调用.net的WebService数据
2013/11/12 PHP
PHP会话控制实例分析
2016/12/24 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
PHP实现ASCII码与字符串相互转换的方法
2017/04/29 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
PHP后台备份MySQL数据库的源码实例
2019/03/18 PHP
JavaScript利用正则表达式去除日期中的-
2014/06/09 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
微信小程序 教程之模块化
2016/10/17 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
NodeJS有难度的面试题(能答对几个)
2019/10/09 NodeJs
python绘制简单折线图代码示例
2017/12/19 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
Django框架 querySet功能解析
2019/09/04 Python
python实现飞行棋游戏
2020/02/05 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
运动会广播稿200字
2014/01/15 职场文书
档案保密承诺书
2014/06/03 职场文书
创优争先心得体会
2014/09/11 职场文书
大学生学习计划书
2014/09/15 职场文书
2014教师党员自我评议(5篇)
2014/09/20 职场文书
课外活动总结
2015/02/04 职场文书
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript