坏蛋网络

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
开启左侧

[DZ教程] Discuz教程:数据库操作方法

[复制链接]
坏蛋网络男神 实名认证 官方 发表于 2020-1-20 02:43:38 来自手机 | 显示全部楼层 |阅读模式
函数        功能
. M) i; s; W2 s1 ~; Q3 f7 qDB::table($tablename)        获取正确带前缀的表名,转换数据库句柄,6 d0 j/ d# N: v7 ]# z9 x  W  c" v
DB::delete($tablename, 条件,条数限制)        删除表中的数据
  m8 N7 z  O$ i# J  z2 f# }7 hDB::insert($tablename, 数据(数组),是否返回插入ID,是否是替换式,是否silent)        插入数据操作
5 J$ A4 l; Z1 CDB::update($tablename, 数据(数组)条件)        更新操作. B$ X5 |& O. d! c+ f
DB::fetch(查询后的资源)        从结果集中取关联数组,注意如果结果中的两个或以上的列具有相同字段名,最后一列将优先。
: \1 _* ~; [3 k  N* rDB::fetch_first($sql)        取查询的第一条数据fetch
2 X' A3 e7 t0 aDB::fetch_all($sql)        查询并fetch
' n$ b( G+ B8 b6 h" GDB::result_first($sql)        查询结果集的第一个字段值% Y: C, T" M: s9 `
DB::query($sql)        普通查询! |# \4 S; s  O* R
DB::num_rows(查询后的资源)        获得记录集总条数
* N3 A5 }+ k# fDB::_execute(命令,参数)        执行mysql类的命令
/ `1 q. \0 D1 l8 ~4 B" XDB::limit(n,n)        返回限制字串# @5 j0 s+ V# p1 e2 E. {- ~% j
DB::field(字段名, $pid)        返回条件,如果为数组则返回 in 条件
. R# v1 @! U8 @+ }DB:rder(别名, 方法)        排序+ F+ S- H2 H3 u. `/ ^7 ~
注意:由于 X1.5 里增加了SQL的安全性检测。因此,如果你的SQL语句里包含以下开头的函数 load_file,hex,substring,if,ord,char。 或者包含以下操作 intooutfile,intodumpfile,unionselect,(select')都将被拒绝执行。
: H6 r$ s$ `8 }替换参数        功能
' c4 i" T' P1 B% N%t        表名,
" e7 K2 C: N+ b. F% |4 I# ~%s        字串,如果是数组就序列化
5 T+ n+ T% [& Y& O, ]%f        按 %F 的样式格式化字串) }9 j. ~& Z6 C. h' A  A
%d        整数
- A. i& |% T4 [( i6 P%i        不做处理
4 f2 ]8 }; o8 i6 m8 L: D! O%n        若为空即为0,若为数组,就用',' 分割,否则加引号* D) _7 j4 A4 {) o* @/ Y, K* c6 F
C对象,可以有效的利用缓存,并且数据获得都统一在 class/table 目录下,好处是所有的查询都集中和复用。方便维护和升级。默认的T方法有以下默认的获得数据方式。每个数据表还需要看具体的表数据定义函数。#开头的,是 插件表定义,会去插件目录下的table目录下找,所以插件开发也可以用这种方法。+ N8 y6 v9 d9 V% U% M; |
函数        功能# T# j: T- G8 u
C::t($tablename')->count()        获取表所有行数2 D7 ?. O. n% @& d
C::t($tablename')->update(键值,$data)        更新键值数据
/ L8 S1 z8 H( N% V6 ~5 j! D3 O1 A8 RC::t($tablename')->delete(键值)        删除键值数据
7 B& e+ |( m* r* _C::t($tablename')->truncate()        清空表: K8 I7 c% o# [0 R- M1 |
C::t($tablename')->insert($data, $return_insert_id,$replace)        插入数据
3 ~. g/ b2 s" |* v8 U. }C::t($tablename')->fetch_all($ids)        fetch 数据,可以是单一键值或者多个键值数组
+ E& A8 W4 p" g% y' sC::t($tablename')->fetch_all_field()        fetch所有的字段名表
0 q9 v4 Q+ b: s& E2 M% w% ?C::t($tablename')->range($start, $limit, $sort)        fetch值域范围, h3 G# E7 ?, w1 W0 y% \
C::t($tablename')->optimize()        优化表1 q0 o2 F, T- r# x1 g
想说又不敢说,说了又怕被拒绝,拒绝了又怕尴尬,就是这样的。内心很痛苦的那种。
yyc男神 发表于 2020-1-20 12:50:19 | 显示全部楼层
写的真的很不错
回复

使用道具 举报

张红霞 发表于 2020-1-21 04:39:20 | 显示全部楼层
好好 学习了 确实不错
回复

使用道具 举报

666男神 发表于 2020-1-21 04:58:42 | 显示全部楼层
我抢、我抢、我抢沙发~
回复

使用道具 举报

672815626 发表于 2020-1-21 12:01:04 | 显示全部楼层
前排支持下
回复

使用道具 举报

 shu1332725 发表于 2020-1-22 03:23:25 | 显示全部楼层
回复

使用道具 举报

123男神 发表于 2020-1-22 12:08:32 | 显示全部楼层
不错不错,楼主您辛苦了。。。
回复

使用道具 举报

hgfhgf 发表于 2020-1-22 14:34:36 | 显示全部楼层
回复

使用道具 举报

全村的希望 发表于 2020-1-23 04:36:07 | 显示全部楼层
我是个凑数的。。。
回复

使用道具 举报

起什么名字呢? 发表于 2020-1-23 10:42:50 | 显示全部楼层
过来看看的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表