Discuz!X3.1数据库的操作
Posted alleyonline的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 |
资源集转换结果集
方法名: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 |
数字索引和关联索引全部取出
1
2 3 4 5 6 7 8 9 10 |
单字段资源集转换为结果集
参数解释:
$resourceid : 数据库查询的query资源
$row : 指定行的第一个字段
1
2 3 4 5 6 7 8 9 |
资源集行数计算
方法名: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:字段拼接的字符串
将id修改成13,name值修改成ccc
1
2 3 4 5 6 7 8 9 |
字段数据设定
方法名: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) ); ?> |
以上是关于Discuz!X3.1数据库的操作的主要内容,如果未能解决你的问题,请参考以下文章