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 相关文章推荐
PHP4实际应用经验篇(3)
Oct 09 PHP
最令PHP初学者们头痛的十四个问题
Jan 15 PHP
php 静态页面中显示动态内容
Aug 14 PHP
php全排列递归算法代码
Oct 09 PHP
thinkphp3.0 模板中函数的使用
Nov 13 PHP
PHP判断数据库中的记录是否存在的方法
Nov 14 PHP
CentOS下PHP安装Oracle扩展
Feb 15 PHP
PHP中的traits简单使用实例
May 13 PHP
PHP之预定义接口详解
Jul 29 PHP
浅谈php(codeigniter)安全性注意事项
Apr 06 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
Jun 19 PHP
Laravel 微信小程序后端实现用户登录的示例代码
Nov 26 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
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
多文件上传的例子
2006/10/09 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
2010/12/29 PHP
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
PHP7新增运算符用法实例分析
2016/09/26 PHP
PHP实现的服务器一致性hash分布算法示例
2018/08/09 PHP
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
javascript中的作用域和上下文使用简要概述
2013/12/05 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
2014/08/21 Javascript
实现高性能JavaScript之执行与加载
2016/01/30 Javascript
JS前向后瞻正则表达式定义与用法示例
2016/12/27 Javascript
jQuery实现表格奇偶行显示不同背景色 就这么简单
2017/03/13 Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
2017/08/07 Javascript
简述Angular 5 快速入门
2017/11/04 Javascript
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
React中使用UMEditor的方法示例
2019/12/27 Javascript
BootStrap前端框架使用方法详解
2020/02/26 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
Python进程通信之匿名管道实例讲解
2015/04/11 Python
python实现的简单抽奖系统实例
2015/05/22 Python
python中redis的安装和使用
2016/12/04 Python
Python学习笔记之if语句的使用示例
2017/10/23 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
PyTorch 随机数生成占用 CPU 过高的解决方法
2020/01/13 Python
python try...finally...的实现方法
2020/11/25 Python
基于HTML5 audio元素播放声音jQuery小插件
2011/05/11 HTML / CSS
HTML5 在canvas中绘制文本附效果图
2014/06/23 HTML / CSS
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
总经理司机岗位职责
2014/02/06 职场文书
货车司机岗位职责
2014/03/18 职场文书
经贸专业毕业生求职信
2014/03/23 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书
《秋天的图画》教学反思
2016/02/19 职场文书
JavaScript中的宏任务和微任务详情
2021/11/27 Javascript