PHP基于单例模式实现的数据库操作基类

2025-05-29 0 31

本文实例讲述了PHP基于单例模式实现的数据库操作基类。分享给大家供大家参考,具体如下:

配置文件:

?

1

2

3

4

5

6

7

8
<?php

$db = array(

'host'=>'localhost',

'user'=>'root',

'password'=>'',

'database'=>'test',

)

?>

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

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117
<?php

class db {

public $conn;

public static $sql;

public static $instance=null;

private function __construct(){

require_once('db.config.php');

$this->conn = mysql_connect($db['host'],$db['user'],$db['password']);

if(!mysql_select_db($db['database'],$this->conn)){

echo "失败";

};

mysql_query('set names utf8',$this->conn);

}

public static function getInstance(){

if(is_null(self::$instance)){

self::$instance = new db;

}

return self::$instance;

}

/**

* 查询数据库

*/

public function select($table,$condition=array(),$field = array()){

$where='';

if(!empty($condition)){

foreach($condition as $k=>$v){

$where.=$k."='".$v."' and ";

}

$where='where '.$where .'1=1';

}

$fieldstr = '';

if(!empty($field)){

foreach($field as $k=>$v){

$fieldstr.= $v.',';

}

$fieldstr = rtrim($fieldstr,',');

}else{

$fieldstr = '*';

}

self::$sql = "select {$fieldstr} from {$table} {$where}";

$result=mysql_query(self::$sql,$this->conn);

$resuleRow = array();

$i = 0;

while($row=mysql_fetch_assoc($result)){

foreach($row as $k=>$v){

$resuleRow[$i][$k] = $v;

}

$i++;

}

return $resuleRow;

}

/**

* 添加一条记录

*/

public function insert($table,$data){

$values = '';

$datas = '';

foreach($data as $k=>$v){

$values.=$k.',';

$datas.="'$v'".',';

}

$values = rtrim($values,',');

$datas = rtrim($datas,',');

self::$sql = "INSERT INTO {$table} ({$values}) VALUES ({$datas})";

if(mysql_query(self::$sql)){

return mysql_insert_id();

}else{

return false;

};

}

/**

* 修改一条记录

*/

public function update($table,$data,$condition=array()){

$where='';

if(!empty($condition)){

foreach($condition as $k=>$v){

$where.=$k."='".$v."' and ";

}

$where='where '.$where .'1=1';

}

$updatastr = '';

if(!empty($data)){

foreach($data as $k=>$v){

$updatastr.= $k."='".$v."',";

}

$updatastr = 'set '.rtrim($updatastr,',');

}

self::$sql = "update {$table} {$updatastr} {$where}";

return mysql_query(self::$sql);

}

/**

* 删除记录

*/

public function delete($table,$condition){

$where='';

if(!empty($condition)){

foreach($condition as $k=>$v){

$where.=$k."='".$v."' and ";

}

$where='where '.$where .'1=1';

}

self::$sql = "delete from {$table} {$where}";

return mysql_query(self::$sql);

}

public static function getLastSql(){

echo self::$sql;

}

}

$db = db::getInstance();

//$list = $db->select('demo',array('name'=>'tom','password'=>'ds'),array('name','password'));

//echo $db->insert('demo',array('name'=>'快网idc','password'=>'123'));

//echo $db->update('demo',array("name"=>'xxx',"password"=>'123'),array('id'=>1));

echo $db->delete('demo',array('id'=>'2'));

db::getLastSql();

echo "<pre>";

?>

希望本文所述对大家PHP程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 PHP基于单例模式实现的数据库操作基类 https://www.kuaiidc.com/99335.html

相关文章

发表评论
暂无评论