本文实例讲述了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; } }?>