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读取RSS feed的代码
Aug 01 PHP
php用header函数实现301跳转代码实例
Nov 25 PHP
PHP不用递归实现无限分级的例子分享
Apr 18 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
Jun 12 PHP
php对数组内元素进行随机调换的方法
May 12 PHP
PHP6连接SQLServer2005的三部曲
Apr 15 PHP
thinkphp自定义权限管理之名称判断方法
Apr 01 PHP
php数值转换时间及时间转换数值用法示例
May 18 PHP
Yii框架批量插入数据扩展类的简单实现方法
May 23 PHP
PHP简单实现二维数组赋值与遍历功能示例
Oct 19 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
Jun 03 PHP
通过PHP实现获取访问用户IP
May 09 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的类树(支持无限分类)
2006/10/09 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
php命令行模式代码实例详解
2021/02/26 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
js通过地址栏给action传值(中文乱码全是问号)
2013/05/02 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
2013/08/13 Javascript
jQuery多项选项卡的实现思路附样式及代码
2014/06/03 Javascript
jQuery中end()方法用法实例
2015/01/08 Javascript
jquery实现的3D旋转木马特效代码分享
2015/08/25 Javascript
javascript实现unicode与ASCII相互转换的方法
2015/12/10 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
vuex 项目结构目录及一些简单配置介绍
2018/04/08 Javascript
详解async/await 异步应用的常用场景
2019/05/13 Javascript
JS实现给数组对象排序的方法分析
2019/06/24 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
[01:11:35]Liquid vs LGD 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python连接phoenix的方法示例
2017/09/29 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
python实现指定ip端口扫描方式
2019/12/17 Python
Python进阶之迭代器与迭代器切片教程
2020/01/29 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
环境工程大学生个人的自我评价
2013/10/08 职场文书
银行职员思想汇报
2013/12/31 职场文书
在校学生职业规划范文
2014/01/08 职场文书
文明学生标兵事迹
2014/01/21 职场文书
2014年财政所工作总结
2014/11/22 职场文书
教师节随笔
2015/08/15 职场文书
趣味运动会广播稿
2015/08/19 职场文书
Win2008系统搭建DHCP服务器
2022/06/25 Servers