Maison > php教程 > PHP源码 > emlog数据库操作类

emlog数据库操作类

PHP中文网
Libérer: 2016-05-25 17:09:14
original
1371 Les gens l'ont consulté

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

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

<?php

/**

 * 数据库操作类

 *

 * @copyright (c) Emlog All Rights Reserved

 */

  

/**

 * MYSQL数据操方法封装类

 */

  

class MySql {

  

    /**

     * 查询次数

     * @var int

     */

    private $queryCount = 0;

  

    /**

     * 内部数据连接对象

     * @var resourse

     */

    private $conn;

  

    /**

     * 内部数据结果

     * @var resourse

     */

    private $result;

  

    /**

     * 内部实例对象

     * @var object MySql

     */

    private static $instance = null;

  

    /**

     * 构造函数

     */

    private function __construct() {

        if (!function_exists(&#39;mysql_connect&#39;)) {

            emMsg(&#39;服务器PHP不支持MySql数据库&#39;);

        }

        if (!$this->conn = @mysql_connect(DB_HOST, DB_USER, DB_PASSWD)) {

            emMsg("连接数据库失败,可能是数据库用户名或密码错误");

        }

        if ($this->getMysqlVersion() > &#39;4.1&#39;) {

            mysql_query("SET NAMES &#39;utf8&#39;");

        }

        @mysql_select_db(DB_NAME, $this->conn) OR emMsg("未找到指定数据库");

    }

  

    /**

     * 静态方法,返回数据库连接实例

     */

    public static function getInstance() {

        if (self::$instance == null) {

            self::$instance = new MySql();

        }

        return self::$instance;

    }

  

    /**

     * 关闭数据库连接

     */

    function close() {

        return mysql_close($this->conn);

    }

  

    /**

     * 发送查询语句

     *

     */

    function query($sql) {

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

        $this->queryCount++;

        if (!$this->result) {

            emMsg("SQL语句执行错误:$sql <br />" . $this->geterror());

        }else {

            return $this->result;

        }

    }

  

    /**

     * 从结果集中取得一行作为关联数组/数字索引数组

     *

     */

    function fetch_array($query , $type = MYSQL_ASSOC) {

        return mysql_fetch_array($query, $type);

    }

  

    function once_fetch_array($sql) {

        $this->result = $this->query($sql);

        return $this->fetch_array($this->result);

    }

  

    /**

     * 从结果集中取得一行作为数字索引数组

     *

     */

    function fetch_row($query) {

        return mysql_fetch_row($query);

    }

  

    /**

     * 取得行的数目

     *

     */

    function num_rows($query) {

        return mysql_num_rows($query);

    }

  

    /**

     * 取得结果集中字段的数目

     */

    function num_fields($query) {

        return mysql_num_fields($query);

    }

    /**

     * 取得上一步 INSERT 操作产生的 ID

     */

    function insert_id() {

        return mysql_insert_id($this->conn);

    }

  

    /**

     * 获取mysql错误

     */

    function geterror() {

        return mysql_error();

    }

  

    /**

     * Get number of affected rows in previous MySQL operation

     */

    function affected_rows() {

        return mysql_affected_rows();

    }

  

    /**

     * 取得数据库版本信息

     */

    function getMysqlVersion() {

        return mysql_get_server_info();

    }

  

    /**

     * 取得数据库查询次数

     */

    function getQueryCount() {

        return $this->queryCount;

    }

}

Copier après la connexion


Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal