返回顶部

[Discuz] Discuz 数据库操作方法

[复制链接]
awagink 显示全部楼层 发表于 2021-2-20 18:06:26 |阅读模式 打印 上一主题 下一主题

函数 功能
DB::table($tablename) 获取正确带前缀的表名,转换数据库句柄

DB::delete($tablename, 条件,条数限制) 删除表中的数据

DB::insert($tablename, 数据(数组),是否返回插入ID,是否是替换式,是否silent) 插入数据操作

DB::update($tablename, 数据(数组)条件) 更新操作

DB::fetch(查询后的资源) 从结果集中取关联数组,注意如果结果中的两个或以上的列具有相同字段名,最后一列将优先。

DB::fetch_first($sql) 取查询的第一条数据fetch

DB::fetch_all($sql) 查询并fetch

DB::result_first($sql) 查询结果集的第一个字段值

DB::query($sql) 普通查询

DB::num_rows(查询后的资源) 获得记录集总条数

DB::_execute(命令,参数) 执行mysql类的命令

DB::limit(n,n) 返回限制字串

DB::field(字段名, $pid) 返回条件,如果为数组则返回 in 条件

DB:rder(别名, 方法) 排序

注意:由于 X1.5 里增加了SQL的安全性检测。因此,如果你的SQL语句里包含以下开头的函数 load_file,hex,substring,if,ord,char。 或者包含以下操作 intooutfile,intodumpfile,unionselect,(select’)都将被拒绝执行。

替换参数 功能
%t 表名,
%s 字串,如果是数组就序列化
%f 按 %F 的样式格式化字串
%d 整数
%i 不做处理
%n 若为空即为0,若为数组,就用’,’ 分割,否则加引号
C对象,可以有效的利用缓存,并且数据获得都统一在 class/table 目录下,好处是所有的查询都集中和复用。方便维护和升级。默认的T方法有以下默认的获得数据方式。每个数据表还需要看具体的表数据定义函数。#开头的,是插件表定义,会去插件目录下的table目录下找,所以插件开发也可以用这种方法。

函数 功能
C::t($tablename’)->count() 获取表所有行数

C::t(<span class="MathJax" id="MathJax-Element-339-Frame" tabindex="0" data-mathml="tablename&#x2032;)&#x2212;&gt;update(&#x952E;&#x503C;," role="presentation" style="box-sizing: border-box; outline: 0px; display: inline; line-height: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; position: relative;">tablename′)−>update(键值,tablename′)−>update(键值,data) 更新键值数据

C::t($tablename’)->delete(键值) 删除键值数据

C::t($tablename’)->truncate() 清空表

C::t(<span class="MathJax" id="MathJax-Element-340-Frame" tabindex="0" data-mathml="tablename&#x2032;)&#x2212;&gt;insert(" role="presentation" style="box-sizing: border-box; outline: 0px; display: inline; line-height: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; position: relative;">tablename′)−>insert(tablename′)−>insert(data, <span class="MathJax" id="MathJax-Element-341-Frame" tabindex="0" data-mathml="returninsertid," role="presentation" style="box-sizing: border-box; outline: 0px; display: inline; line-height: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; position: relative;">returninsertid,returninsertid,replace) 插入数据

C::t(<span class="MathJax" id="MathJax-Element-342-Frame" tabindex="0" data-mathml="tablename&#x2032;)&#x2212;&gt;fetchall(" role="presentation" style="box-sizing: border-box; outline: 0px; display: inline; line-height: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; position: relative;">tablename′)−>fetchall(tablename′)−>fetchall(ids) fetch 数据,可以是单一键值或者多个键值数组

C::t($tablename’)->fetch_all_field() fetch所有的字段名表

C::t(<span class="MathJax" id="MathJax-Element-343-Frame" tabindex="0" data-mathml="tablename&#x2032;)&#x2212;&gt;range(" role="presentation" style="box-sizing: border-box; outline: 0px; display: inline; line-height: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; position: relative;">tablename′)−>range(tablename′)−>range(start, <span class="MathJax" id="MathJax-Element-344-Frame" tabindex="0" data-mathml="limit," role="presentation" style="box-sizing: border-box; outline: 0px; display: inline; line-height: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; position: relative;">limit,limit,sort) fetch值域范围

C::t($tablename’)->optimize() 优化表

转自:http://wiki.blueidea.com/index.php?title=Discuz!X/%E6%95%B0%E6%8D%AE%E5%BA%93%E6%93%8D%E4%BD%9C%E6%96%B9%E6%B3%95


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

本版积分规则

纳速健身网成立于2006年8月,是国内优秀健身运动网站,现拥浏览人数超30万。网站是集养生、武术、太极拳和健身气功等多种健身项目于一体的多功能交流平台。平台提供大量优质的教学视频、伴奏音乐(太极拳晨练音乐,广场舞音乐,健身气功音乐)、图文教程、运动科普和经验分享,为健身爱好者提供完善的运动指导平台。
  • 纳速QQ群乙:151815303
  • 纳速QQ群丙:79104490
  • 微信交流群:微信好友搜索【nasuwang】加小纳微信进群交流健身知识,备注【纳速】
  •                     或者扫描页面底部右侧二维码添加小纳微信>>>
  • 微信公众号

  • 微信群客服交流

  • Copyright © 2006-2021, 纳速健身网. | | 辽ICP备13002388号-1 辽公安网备21050202000005号公安网备号 纳速武术-乙 QQ