当前位置:首页 > PHP文摘 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2019-10-08 12:42:57 浏览: 评论:0 

本文实例讲述了PHP实现基于mysqli的Model基类。分享给大家供大家参考,具体如下:

DB.class.php

  1. <?php 
  2.  
  3.   //数据库连接类 
  4.  
  5.   class DB { 
  6.  
  7.      //获取对象句柄 
  8.  
  9.      static public function getDB() { 
  10.  
  11.        $_mysqli = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME); 
  12.  
  13.        if (mysqli_connect_errno()) { 
  14.  
  15.           echo '数据库连接错误!错误代码:'.mysqli_connect_error(); 
  16.  
  17.           exit(); 
  18.  
  19.        } 
  20.  
  21.        $_mysqli->set_charset('utf8'); 
  22.  
  23.        return $_mysqli
  24.  
  25.      } 
  26.  
  27.      //清理,释放资源 
  28.  
  29.      static public function unDB(&$_result, &$_db) { 
  30.  
  31.        if (is_object($_result)) { 
  32.  
  33.           $_result->free(); 
  34.  
  35.           $_result = null; 
  36.  
  37.        } 
  38.  
  39.        if (is_object($_db)) { 
  40.  
  41.           $_db->close(); 
  42.  
  43.           $_db = null; 
  44.  
  45.        } 
  46.  
  47.      } 
  48.  
  49.   } 
  50.  
  51. ?> 

Model.class.php

  1. <?php 
  2.  
  3.   //模型基类 
  4.  
  5.   class Model { 
  6.  
  7.      //执行多条SQL语句 
  8.  
  9.      public function multi($_sql) { 
  10.  
  11.        $_db = DB::getDB(); 
  12.  
  13.        $_db->multi_query($_sql); 
  14.  
  15.        DB::unDB($_result = null, $_db); 
  16.  
  17.        return true; 
  18.  
  19.      } 
  20.  
  21.      //获取下一个增值id模型 
  22.  
  23.      public function nextid($_table) { 
  24.  
  25.        $_sql = "SHOW TABLE STATUS LIKE '$_table'"
  26.  
  27.        $_object = $this->one($_sql); 
  28.  
  29.        return $_object->Auto_increment; 
  30.  
  31.      } 
  32.  
  33.      //查找总记录模型 
  34.  
  35.      protected function total($_sql) { 
  36.  
  37.        $_db = DB::getDB(); 
  38.  
  39.        $_result = $_db->query($_sql); 
  40.  
  41.        $_total = $_result->fetch_row(); 
  42.  
  43.        DB::unDB($_result$_db); 
  44.  
  45.        return $_total[0]; 
  46.  
  47.      } 
  48.  
  49.      //查找单个数据模型 
  50.  
  51.      protected function one($_sql) { 
  52.  
  53.        $_db = DB::getDB(); 
  54.  
  55.        $_result = $_db->query($_sql); 
  56.  
  57.        $_objects = $_result->fetch_object(); 
  58.  
  59.        DB::unDB($_result$_db); 
  60.  
  61.        return Tool::htmlString($_objects); 
  62.  
  63.      } 
  64.  
  65.      //查找多个数据模型 
  66.  
  67.     protected function all($_sql) { 
  68.  
  69.        $_db = DB::getDB(); 
  70.  
  71.        $_result = $_db->query($_sql); 
  72.  
  73.        $_html = array(); 
  74.  
  75.        while (!!$_objects = $_result->fetch_object()) { 
  76.  
  77.           $_html[] = $_objects
  78.  
  79.        } 
  80.  
  81.        DB::unDB($_result$_db); 
  82.  
  83.        return Tool::htmlString($_html); 
  84.  
  85.      } 
  86.  
  87.      //增删修模型 
  88.  
  89.      protected function aud($_sql) { 
  90.  
  91.        $_db = DB::getDB(); 
  92.  
  93.        $_db->query($_sql); 
  94.  
  95.        $_affected_rows = $_db->affected_rows; 
  96.  
  97.        DB::unDB($_result = null, $_db); 
  98.  
  99.        return $_affected_rows
  100.  
  101.      } 
  102.  
  103.   } 
  104.  
  105. ?> 

Tags: mysqli Model

分享到: