Rumah > pembangunan bahagian belakang > tutorial php > 利用php 实现的sqlite数据库连接类

利用php 实现的sqlite数据库连接类

怪我咯
Lepaskan: 2023-03-12 16:00:02
asal
2207 orang telah melayarinya

这篇文章主要介绍了PHP实现的sqlite数据库连接类,涉及针对SQLite数据库的连接与增删改查等sql操作用法,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了PHP实现的sqlite数据库连接类。分享给大家供大家参考。具体实现方法如下:

该sqlite数据库连接类就是利用了php与sqlite进行连接操作,代码如下:

代码如下:

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

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

*/

lass db_class {

var $conn=null;

var $querynum = 0;

/**

 * 数据库连接,返回数据库连接标识符

 

 * @param string $ 数据库服务器主机

 * @param string $ 数据库服务器帐号

 * @param string $ 数据库服务器密码

 * @param string $ 数据库名

 * @param bool $ 是否保持持续连接,1为持续连接,0为非持续连接

 * @return link_identifier $dbuser, $dbpw, $dbname,

 */

function connect($dbhost, $pconnect = 0) {

 $error = '';

 $func = $pconnect == 1 ? 'sqlite_popen' : 'sqlite_open';

 if (!$this -> conn = $func($dbhost, 0666, $error)) {

  $this -> halt($error);

 }

 return $this -> conn;

}

/**

 * 执行sql语句

 

 * @param string $ sql语句

 * @param string $ 默认为空,可选值为 cache unbuffered

 * @param int $ cache以秒为单位的生命周期

 * @return resource 

 */

function query($sql , $type = '' , $expires = 3600, $dbname = '') {

 $error = '';

 $func = $type == 'unbuffered' ? 'sqlite_unbuffered_query' : 'sqlite_query';

 if (preg_match("/^s*select/i", $sql)) {

  $query = $func($this -> conn, $sql, sqlite_assoc, $error);

 } else {

  $query = sqlite_exec($this -> conn, $sql, $error);

 

 if ($error) {

  $this -> halt($error, $sql);

 }

 $this -> querynum++;

 return $query;

/*

*@param string $ table名

*@param string $ where条件

*@param string $ colum名

  

*@param string $ limit数量 

  

*/

function getlist($table , $wheres = "1=1"$colums = '*' ,$limits = '3000',$orderbys="id desc") {

 $query = $this -> query("select ".$colums." from ".$table." where ".$wheres." order by  ".$orderbys."  limit ".$limits, $type, $expires, $dbname);

 while($rs = $this -> fetch_array($query)){

  $datas[]=$rs;

  }

 //print_r("select ".$colums." from ".$table." where ".$wheres." limit ".$limits);

 //print_r($rs);die();

 $this -> free_result($query);

 return $datas ;

}

function add_one($table , $colums ,$data ) {

 //die("insert into ".$table." (".$colums.") values(".$data.")");

 $query = $this -> query("insert into ".$table." (".$colums.") values(".$data.")", $type, $expires, $dbname);

 //return $this->insert_id();

 return $query;

}

function delist($table , $idarray,$wheres="no") {

 if($wheres=='no')

  $query = $this -> query("delete from ".$table." where id in(".$idarray.")", $type, $expires, $dbname);

 else

  $query = $this -> query("delete from ".$table." where ".$wheres, $type, $expires, $dbname);

 return $query;

}

function updatelist($table , $updatedata,$idarray) {

 $query = $this -> query("update ".$table." set ". $updatedata."  where id in(".$idarray.")", $type, $expires, $dbname);

 return $query;

}

//update max_vote set maxtitle='$title',maxban='$ban',

/**

 * 执行sql语句,只得到一条记录

 

 * @param string $ sql语句

 * @param string $ 默认为空,可选值为 cache unbuffered

 * @param int $ cache以秒为单位的生命周期

 * @return array 

 */

function get_one($sql, $type = '', $expires = 3600, $dbname = '') {

 $query = $this -> query($sql, $type, $expires, $dbname);

 $rs = $this -> fetch_array($query);

 $this -> free_result($query);

 return $rs ;

}

/**

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

 

 * @param resource $ 数据库查询结果资源

 * @param string $ 定义返回类型

 * @return array 

 */

function fetch_array($query, $result_type = sqlite_assoc) {

 return sqlite_fetch_array($query, $result_type);

}

/**

 * 取得前一次 sqlite操作所影响的记录行数

 

 * @return int 

 */

function affected_rows() {

 return sqlite_changes($this -> conn);

}

/**

 * 取得结果集中行的数目

 

 * @return int 

 */

function num_rows($query) {

 return sqlite_num_rows($query);

}

/**

 * 返回结果集中字段的数目

 

 * @return int 

 */

function num_fields($query) {

 return sqlite_num_fields($query);

}

/**

 

 * @return array 备用,一般不用.

 */

function result($query, $row) {

 return @sqlite_fetch_all($query, sqlite_assoc);

/**

 * sqlite没有相应函数

 */

function free_result($query) {

 return ;

}

/**

 * 取得上一步 insert 操作产生的 id

 

 * @return int 

 */

function insert_id() {

 return sqlite_last_insert_rowid($this -> connid);

}

/**

 

 * @return array 只得到数字索引

 */

function fetch_row($query) {

 return sqlite_fetch_array($query, sqlite_num);

/**

 */

function fetch_assoc($query) {

 return $this -> fetch_array($query, sqlite_assoc);

/**

 

 * @return string 

 */

function version() {

 return sqlite_libversion();

}

function close() {

 return sqlite_close($this -> conn);

}

/**

 

 * @return string 

 */

function error() {

 return sqlite_error_string($this -> errno);

}

/**

 

 * @return int 

 */

function errno() {

 return sqlite_last_error($this -> conn);

}

/**

 * 显示mysql教程错误信息

 */

function halt($message = '', $sql = '') {

 exit("sqlitequery:$sql <br> sqliteerror:" . $this -> error() . " <br> sqliteerrno:" . $this -> errno() . " <br> message:$message");

}

Salin selepas log masuk


Atas ialah kandungan terperinci 利用php 实现的sqlite数据库连接类. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan