php教程

超轻量级php框架startmvc

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

更新时间:2020-03-08 18:16:36 作者:startmvc
本文实例讲述了PHP实现基于mysqli的Model基类。分享给大家供大家参考,具体如下:DB.class.php&

本文实例讲述了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 mysqli Model基类