A-A+
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;
- }
- }
- ?>