Discuz!数据库操作DB类和C::t类介绍
类定义文件
DB类:
文件\source\class\class_core.php
class DB extends discuz_database {}
discuz_database类定义
文件\source\class\discuz\discuz_database.php
DB类封装常用方法:
DB::table($table) //获取带前缀的表名
DB::delete($table, $condition, $limit = 0, $unbuffered = true) //删除数据
DB::insert($table, $data, $return_insert_id = false, $replace = false, $silent = false) //插入数据
DB::update($table, $data, $condition, $unbuffered = false, $low_priority = false)//更新
DB::insert_id()//返回插件的自增长id
DB::fetch_first($sql, $arg = array(), $silent = false) //取查询的第一条数据fetch
DB::fetch_all($sql, $arg = array(), $keyfield = '', $silent=false) //查询并fetch
DB::result_first($sql, $arg = array(), $silent = false)//查询结果集的第一个字段值
DB::query($sql, $arg = array(), $silent = false, $unbuffered = false) //普通查询 一条sql语句
DB::limit($start, $limit = 0) //limit条件
DB::order($field, $order = 'ASC')//返回排序
DB::field($field, $val, $glue = '=')//返回字段条件 $val可以为数组
| 替换参数 | 功能 |
|---|---|
| %t | 表名, |
| %s | 字串,如果是数组就序列化 |
| %f | 按 %F 的样式格式化字串 |
| %d | 整数 |
| %i | 不做处理 |
| %n | 若为空即为0,若为数组,就用',' 分割,否则加引号 |
数据库类定义在目录\source\class\table\另外从X2.5版本开始,discuz对数据库类进行了二次封装
使用方法:C::t('tablename')->method();
插件新增的表mytablename
放置在目录:source/plugin/mypluginid/table/table_mytablename.php
使用类名:table_mytablename
使用用法:C::t('#mypluginid#mytablename')->method();
更多详细资料可参考Discuz!开发文档:http://faq.comsenz.com/library/plug/construct/construct_db.htm
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/lih062624/article/details/68940609
Discuz!数据库操作DB类和C::t类介绍的更多相关文章
- [Android] Android 使用 Greendao 操作 db sqlite(2)-- 封装DaoUtils类
继续接上文: Android 使用 Greendao 操作 db sqlite(1)-- 直接在MainActivity中调用 布局文件同上文一致,这里就不贴了. 一.封装DaoUtils类 User ...
- tp5数据库操作 Db类
一.链接数据库 1.配置文件定义 application\database.php 注意:数据表前缀更改,在文件的prefix选项 2.类定义 二.数据库的基本使用 namespace app\de ...
- C#操作SqlServer MySql Oracle通用帮助类Db_Helper_DG(默认支持数据库读写分离、查询结果实体映射ORM)
[前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系型数据库,在使用了多年的Sql_Helper_DG后,由于项目需 ...
- Django1.11模型类数据库操作
django模型类数据库操作 数据库操作 添加数据 1,创建类对象,属性赋值添加 book= BookInfo(name='jack',pub_date='2010-1-1') book.save() ...
- android中的数据库操作
如何在android中调用数据库资源 在android中主要有两种方法来实现对数据库的访问,一种是adb shell方式,另一种是通过相关的android 的java类来间接的对数据库来进行操作.其中 ...
- 安卓 SQLite数据库操作实例
前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...
- 在安卓开发中使用SQLite数据库操作实例
前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...
- android中的数据库操作(转)
android中的数据库操作 android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作. 一.android内的数据库的基础知识介绍 1.用了什么数据库 an ...
- [Android] Android 使用 Greendao 操作 db sqlite
Android 使用 Greendao 操作 db sqlite GreenDAO是一个开源的安卓ORM框架,能够使SQLite数据库的开发再次变得有趣.它减轻开发人员处理低级数据库需求,同时节省开发 ...
随机推荐
- CEF 访问需要认证网页或接口(在Request的Headers中添加认证Token)
转载:https://blog.csdn.net/wdw984/article/details/85275289 1.首先要让我们自己的CefClient这个类公有继承CefRequestHandle ...
- 如何下载官网最新版 win10 系统?
如何下载官网最新版 win10 系统?步骤: 一. 下载 遨游浏览器 将UA切换成,手机访问:推荐 UC浏览器,UA设置: Mozilla/5.0 (Linux; U; Android 8.0.0; ...
- nginx反向代理结合apache和php的配置示例
.前端nginx主配置文件 # cat nginx.conf worker_processes ; #pid logs/nginx.pid; pid /data/www/logs/nginx.pid; ...
- Linux共享文件夹映射到Windows磁盘
摘自:https://www.jianshu.com/p/4a06121450e5 1.1方案背景 本方案就是在解决磁盘不足的问题而产生的,利用映射盘的原理将Linux共享文件夹映射到Windows磁 ...
- 【LeetCode算法-21】Merge Two Sorted Lists
LeetCode第21题 Merge two sorted linked lists and return it as a new list. The new list should be made ...
- ios label根据内容自适应高度
label自适应高度,想必大家也都很熟悉怎么去做,上代码: UILabel *label3 = [[UILabel alloc]initWithFrame:CGRectMake(150, 50, 15 ...
- 【转】SOA架构和微服务架构的区别
SOA架构和微服务架构的区别 https://blog.csdn.net/zpoison/article/details/80729052
- pycharm 2019.2 安装包失败
简介: 最近使用学生账号注册了pycharm,貌似全家桶都可以免费用了,就升级了pycharm到最新版. 但是在使用包管理,安装包的时候出错了 提示没有匹配的版本,下面还提示一个 --trusted- ...
- [LeetCode] 346. Moving Average from Data Stream 从数据流中移动平均值
Given a stream of integers and a window size, calculate the moving average of all integers in the sl ...
- Kubernetes 控制器之 Deployment 介绍(六)
一.Deployment.ReplicaSet.Pod之间的关系 我们接着前面的文章说,如果不清楚的请查看之前的博文:http://blog.51cto.com/wzlinux/2322616 前面我 ...