zoukankan      html  css  js  c++  java
  • Discuz!数据库操作DB类和C::t类介绍

    类定义文件
    DB类:
    文件sourceclassclass_core.php

    class DB extends discuz_database {} 

    discuz_database类定义

    文件sourceclassdiscuzdiscuz_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,若为数组,就用',' 分割,否则加引号

    数据库类定义在目录sourceclass able另外从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

  • 相关阅读:
    8.14-T1村通网(pupil)
    8.10-Day2T3 镇守府
    8.10-Day2T2 吃喝大法好
    8.10-Day2T1最小值
    8.10-DayT3游走(wander)
    8.10-Day1T2圈(circle)
    8.10-Day1T1-数字(number)
    bzoj2462: [BeiJing2011]矩阵模板
    8.7-Day1T1
    k8s高可用部署后续:SLB
  • 原文地址:https://www.cnblogs.com/mengyilingjian/p/11699861.html
Copyright © 2011-2022 走看看