如何通过PHP实现基于mysqli的Model基类?

如何通过PHP实现基于mysqli的Model基类?

本文实例讲述了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程序设计有所帮助。