Discuz!X3.1数据库的操作(二)

数据库自定义query

方法名:BD::query()

参数解释:

$sql:自定义SQL语句

$arg:需要绑定的数据

$unbuffered:是否使用无缓存查询


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

<?php
DB::query("SELECT * FROM %t WHERE id IN (%n)",array(
     ‘test_db‘, array(1,2,3)
));

//资源集转换结果集
  whlie($res = DB::fetch($query)){
      $result[] = $res;
}
debug($result)

//自定义删除id=11数据
DB::query("delete from %t where dId = %d",array(
         ‘test_db‘,9
));
?>

资源集转换结果集

方法名:DB::fetch()

参数解释:

$resourceid : 数据库查询的query资源

$type : 数组类型

关联索引


1
2
3
4
5

//资源集转换结果集
  whlie($res = DB::fetch($query)){
      $result[] = $res;
}
debug($result)

数字索引


1
2
3
4
5
6
7
8
9
10

<?php 
    $data = DB::query("select * from %t where dId in(%n)",array(
               ‘test_db‘,array(1,2,3,5)    
    ));
    
    while($res = DB::fetch($data,MYSQL_NUM)){
           $result[] = $res;
        }
    print_r($result);
?>

数字索引和关联索引全部取出


1
2
3
4
5
6
7
8
9
10

<?php 
    $data = DB::query("select * from %t where dId in(%n)",array(
               ‘test_db‘,array(1,2,3,5)    
    ));
    
    while($res = DB::fetch($data,MYSQL_BOTH)){
           $result[] = $res;
        }
    print_r($result);
?>

单字段资源集转换为结果集

参数解释:

$resourceid : 数据库查询的query资源

$row : 指定行的第一个字段


1
2
3
4
5
6
7
8
9

<?php 
    $query = DB::query("select * from %t where dId in(%n)",array(
               ‘test_db‘,array(1,2,3,5)    
    ));
    
    $data = DB::result($query,0);
    
    echo $data;
?>

资源集行数计算

方法名:DB::num_rows()

参数解释:

$resourceid : 数据库查询的query资源


1
2
3
4
5
6
7
8
9
10

<?php
//小数据量用num_rows,大数据用count(*)
$query = DB::query("SELECT * FROM %t WHERE id > %d",array(
  ‘test_db‘, 7
));

$data = DB::num_rows($query);

echo $data;
?>

资源集资源释放

方法名:DB::free_result()

参数解释:

$query:执行SQ语句的query资源


1
2
3
4
5
6
7
8
9

<?php
$query = DB::query("SELECT count(*) FROM %t WHERE id < %d ORDER BY id",array(
  ‘test_db‘, 7
));

$data = DB::result($query);
DB::free_result($query);
echo $data;
?>

按字段排序

方法名:DB::order()

参数解释:

$field:需要排序的字段

$order:排序的方式


1
2
3
4
5
6
7
8
9
10
11
12

<?php
        //倒序排列
    $query = DB::query("select * from %t where dId < %d order by".DB::order(‘dId‘,‘DESC‘),array(
      ‘test_db‘, 8
    ));
    
    while($res = DB::fetch($query)){
       $result[] = $res;
    }
    
    debug($result);
?>

取值区间设定

方法名:DB::limit()

参数解释:

$start:开始的索引值

$limit:条目数


1
2
3
4
5
6
7
8
9
10
11
12

<?php
//用DB::limit()取出2,3,4条数据,如取出前3条就写DB::limit(3)
$query = DB::query("SELECT count(*) FROM %t WHERE id < %d ORDER BY".DB::order(‘id‘,‘DESC‘).DB::limit(2,3,4),array(
  ‘test_db‘, 10
));

whlie($res = DB::fetch(%query)){
   $result[] = $res;
}

debug($result)
?>

字段拼接

方法名:BD::implode()

参数解释:

$array:需要拼接的字段数组

$glue:字段拼接的字符串


1
2
3

<?php
 DB::implode(array(‘id‘ => 10, ‘name‘ => ‘ddd‘), ‘and‘);
?>

将id修改成13,name值修改成ccc


1
2
3
4
5
6
7
8
9

<?php
     DB::query("update %t set".DB::implode(array(
            ‘dName‘ => ‘ccc‘,
            ‘dId‘ => ‘13‘
     )).‘where dId=%d‘,array(
            ‘test_db‘,
            8,
     ));
?>

字段数据设定

方法名:DB::field()

参数解释:

$field:需要处理的字段名称

$val:字段对应的值

$glue:连接字段与值的类型


1
2
3
4
5
6

<?php
        //id=3改为id=99
    DB::query("update %t set".DB::field(‘dId‘,‘99‘,‘=‘)."where dId=%d",array(
      ‘test_db‘,3)
    );
?>
时间: 2024-10-07 02:42:35

Discuz!X3.1数据库的操作(二)的相关文章

Discuz!X3.1数据库的操作(一)

数据库指的是以一定方式储存在一起.能为多个用户共享.具有尽可能小的余度.与应用程序彼此独立的数据集合.产品中的主题,帖子,用户,关注等等.所有数据都存储在数据库中. 官方数据字典 http://faq.comsenz.com/library/database/x3/x3_index.htm 数据库规范 http://dev.discuz.org/wiki/index.php?title=编码规范 数据表插入操作 方法名:DB::insert() 12345 <?php    DB::insert

Discuz!X3.1数据库的操作(三)

MVC开发思想简介 MVC全名是Model-View-Controller,是模型(model)-视图(view)-控制器(controller)的缩写,它是一种软件设计思想.使用一种业务逻辑,数据和显示分离的方法组织代码,实现代码复用的最大化. MVC的执行流程 mvc执行流程 模型目录介绍 内置模型目录 产品根目录/source/class/table/table_xxx.php 插件模型目录 产品根目录/source/plugin/插件目录/table/table_xxx.php 模型调用

Discuz!X3.1标签使用(二)

Discuz!X时间输出标签 作用:输出一个时间戳到页面上,显示为详细时间日期 用法:{date时间戳} 123 {template common/header}{date(TIMESTAMP)}{template common/footer} Discuz!X广告调用标签 作用:输出一段广告在页面,后台可以定制 用法:{ad/广告标识符} 后台可直接开启,并得到代码 Discuz!X数据调用标签 用法:{block/模块id} 门户---模块管理--数据调用(类似广告调用) 默认是显示ul无序

discuz x3论坛搬家换虚拟主机完美使用教程 亲测可行 附操作步骤

第一步:备份网站数据进入后台—站长—数据库—备份,数据备份类型选择“Discuz!和 UCenter数据”,备份成功以后,数据自动保存在data文件夹下. 第二步:网站文件下载 把整个网站文件打包(虚拟主机管理控制面板一般都有整站压缩和解压的功能,在控制面板选择压缩,压缩之后的文件一般在FTP DB文件夹里面,然后把压缩包下载到本地电脑,如果虚拟主机没有在线压缩功能那就直接使用FTP下载文件到本地保存. 第三步:整理下载到本地的网站文件1.把下载下来的文件里面的下列文件删除,请完全放心删除掉这几

Discuz!X3.1后台操作技巧(整合)

Discuz!X3.1默认模板 文件 默认模板 default Common   文件夹里面是存放的公共模板文件: Forum     文件家里面存放的是论坛模板文件: Group     文件夹是存放的群组功能的模板文件: Home     文件夹是存放的家园功能的模板文件: Member   文件夹是存放会员中心的模板文件夹: Mobile    文件夹是手机版模板文件夹: Portal     文件夹是门户模板文件夹: Search    文件夹是搜索的模板文件夹: Style      

数据库操作(二)

数据库操作(二) 1.MySQL行(记录)操作 插入(增加)数据 1.插入完整数据 语法1: insert into 表名(字段1,字段2..字段n) values(值1,值2..值n); #字段和值要一一对应 语法2: insert into 表名 values(值1,值2..值n); #表名后不定义列名,则按顺序给所有列添加值 2.指定字段插入数据 语法: insert into 表名(字段1,字段2..) values(值1,值2..) 3.插入多条记录 语法: insert into 表

NHibernate+SQLite 学习笔记(二)+使用FLuent NHibernate 建立会话工厂(session factory) 并对数据库进行操作(open Session)

1.创建一个会话工厂(session factory) #region //********************创建一个会话工厂---Create Session Factory*******************// private void btnCreateSessionFactory_Click(object sender,RoutedEventArgs e) { var factory = CreateSessionFactory(); } private ISessionFac

python框架之Flask基础篇(二)-------- 数据库的操作

1.flask连接数据库的四步: 倒入第三方数据库扩展包:from flask_sqlalchemy import SQLAlchemy 配置config属性,连接数据库: app.config["SQLALCHEMY_DATABASE_URI"] = "mysql://root:[email protected]/first_flask"app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False 创

Discuz!X3.2学习笔记

最近要做一个论坛,找了一个比较成熟的模板Discuz!X3.2. 几天下来见识了这个论坛功能的庞大,也学习了功能强大的后台管理.但是终究还是需要对discuz进行二次开发满足功能需求. 针对discuz!X3.2初级的学习,发现还是那样,开始不爱听,后续听不懂.那怎么办呢?写篇笔记来督促自己的学习深度和进度. 安装注意: 1数据库前缀名要写一个复杂一点的名称,建立用户,并创建用户数据库. 2discuz!X安装完成后要尽量删除安装文件,安装根目录下的install目录. 3后台管理入口文件名要修