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