本文实例讲述了PHP实现基于mysqli的Model基类。分享给大家供大家参考,具体如下:
DB.class.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<?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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
<?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程序设计有所帮助。