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 相关文章推荐
在WIN98下以apache模块方式安装php
Oct 09 PHP
php 前一天或后一天的日期
Jun 28 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
Jan 06 PHP
递归删除一个节点以及该节点下的所有节点示例
Mar 19 PHP
destoon在360浏览器下出现用户被强行注销的解决方法
Jun 26 PHP
Laravel框架学习笔记(一)环境搭建
Oct 15 PHP
php缓冲输出实例分析
Jan 05 PHP
php生成4位数字验证码的实现代码
Nov 23 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
Nov 17 PHP
Laravel框架在本地虚拟机快速安装的方法详解
Jun 11 PHP
实现php删除链表中重复的结点
Sep 27 PHP
PHP获取对象属性的三种方法实例分析
Jan 03 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
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
js加强的经典分页实例
2013/03/15 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
2014/05/04 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
vue-cli 2.*中导入公共less文件的方法步骤
2018/11/22 Javascript
在微信小程序中使用vant的方法
2019/06/07 Javascript
vue图片上传组件使用详解
2019/12/23 Javascript
js实现时钟定时器
2020/03/26 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
Python图形绘制操作之正弦曲线实现方法分析
2017/12/25 Python
python实现词法分析器
2019/01/31 Python
Python中如何导入类示例详解
2019/04/17 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
2019/08/18 Python
python shutil文件操作工具使用实例分析
2019/12/25 Python
python中format函数如何使用
2020/06/22 Python
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
升职自荐信范文
2013/10/05 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
本科生就业推荐信
2014/05/19 职场文书
领导党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
公安机关党的群众路线教育实践活动剖析材料
2014/10/10 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
亮剑观后感
2015/06/05 职场文书
如何使用Python实现一个简易的ORM模型
2021/05/12 Python
详解Python中的进程和线程
2021/06/23 Python