坏蛋网络

 找回密码
 立即注册

微信登录

只需一步,快速开始

手机动态码快速登录

手机号快速注册登录

搜索

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

[复制链接]
坏蛋网络官方 发表于 2020-1-20 02:43:38 来自手机 | 显示全部楼层 |阅读模式
函数        功能
6 y' u6 K, P( X4 ~7 g" B& k! GDB::table($tablename)        获取正确带前缀的表名,转换数据库句柄,: B+ u1 r, @: B4 o% H7 x
DB::delete($tablename, 条件,条数限制)        删除表中的数据
7 \# [3 c' \! A. X- d  Y0 kDB::insert($tablename, 数据(数组),是否返回插入ID,是否是替换式,是否silent)        插入数据操作. j! U, @% Z& K0 @: Y
DB::update($tablename, 数据(数组)条件)        更新操作* L7 s  O6 Q' ], X9 w
DB::fetch(查询后的资源)        从结果集中取关联数组,注意如果结果中的两个或以上的列具有相同字段名,最后一列将优先。* q9 {# p2 |9 W2 B7 g" l
DB::fetch_first($sql)        取查询的第一条数据fetch- n" w* T* {) T
DB::fetch_all($sql)        查询并fetch
9 y2 d( N3 t4 e& n/ ^4 I; ~DB::result_first($sql)        查询结果集的第一个字段值* e6 w1 C9 l7 f, ^, i# r& |# M9 |
DB::query($sql)        普通查询! r  W% q! A# z6 b) P  y. T1 O
DB::num_rows(查询后的资源)        获得记录集总条数  p" g4 W! q+ [
DB::_execute(命令,参数)        执行mysql类的命令6 O: U' B2 G( V# E( a8 l
DB::limit(n,n)        返回限制字串
+ h- T) }8 b) i+ WDB::field(字段名, $pid)        返回条件,如果为数组则返回 in 条件/ T; g9 S  r' u" ^
DB:rder(别名, 方法)        排序1 t  ~% U5 @  d- ~- X! e3 C4 e
注意:由于 X1.5 里增加了SQL的安全性检测。因此,如果你的SQL语句里包含以下开头的函数 load_file,hex,substring,if,ord,char。 或者包含以下操作 intooutfile,intodumpfile,unionselect,(select')都将被拒绝执行。
/ I: t! x' E! W2 [2 v8 H8 t替换参数        功能) i' Z9 Q! L6 b- o* K: E+ i
%t        表名,# k+ r' l: @/ o
%s        字串,如果是数组就序列化
3 A9 a: [# T6 \7 V. k%f        按 %F 的样式格式化字串
& U9 P& p1 ]8 ], X+ w1 |: `: I& c%d        整数
- C% }+ r5 o  L1 U- k%i        不做处理+ L+ W9 f. W  }* B( ]8 b4 Y! b( f
%n        若为空即为0,若为数组,就用',' 分割,否则加引号) {" \, J- R' `2 |% T1 u. N
C对象,可以有效的利用缓存,并且数据获得都统一在 class/table 目录下,好处是所有的查询都集中和复用。方便维护和升级。默认的T方法有以下默认的获得数据方式。每个数据表还需要看具体的表数据定义函数。#开头的,是 插件表定义,会去插件目录下的table目录下找,所以插件开发也可以用这种方法。) x  U9 G) M0 Q" B! K
函数        功能, \3 S- d6 f/ E" b- ^1 l
C::t($tablename')->count()        获取表所有行数
/ q$ C; D* c. _4 y( T' [C::t($tablename')->update(键值,$data)        更新键值数据
9 _5 Z& s7 _7 H1 r8 @# a' lC::t($tablename')->delete(键值)        删除键值数据
1 l% O4 d* n! u5 O0 gC::t($tablename')->truncate()        清空表
  e: c' G# G/ S# ]% r7 cC::t($tablename')->insert($data, $return_insert_id,$replace)        插入数据
/ h' c: d6 V! ]" ^/ {C::t($tablename')->fetch_all($ids)        fetch 数据,可以是单一键值或者多个键值数组+ u& O1 J( f2 {! C! I
C::t($tablename')->fetch_all_field()        fetch所有的字段名表
1 J: q$ o" ?6 i5 o$ QC::t($tablename')->range($start, $limit, $sort)        fetch值域范围& c3 L" n4 P- j  S5 ^+ G5 l5 \0 c, \
C::t($tablename')->optimize()        优化表
3 n; G* k1 ~& t5 M6 r
想说又不敢说,说了又怕被拒绝,拒绝了又怕尴尬,就是这样的。内心很痛苦的那种。
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 | 显示全部楼层
过来看看的
回复

使用道具 举报

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