调用DISCUZ的函数操作数据库,插件开发入门,获取当前用户信息

2021-03-20 1031 0条评论

下面这段代码实现了引用当前在线用户,调用DISCUZ 的数据库查询方法进行数据库查询,获取当前用户信息

<?php
define('APPTYPEID', 5);//必须的,你懂的
define('CURSCRIPT', 'userapp');//必须的,你懂的
require_once './source/class/class_core.php';//必须的,你懂的
$discuz = & discuz_core::instance();//必须的,你懂的
$discuz->cachelist = $cachelist;//必须的,你懂的
$discuz->init();//必须的,你懂的

echo  "cur userid:".$_G['uid']."</br>";//获到当前用户ID
echo  "cur username:".$_G['username']."</br>";//如上,你懂的
$curuserid = $_G['uid'];//获到当前用户ID
//使用数据库查询,调用discuz的数据库查询方法
$cususerinfo = DB::fetch_first("SELECT * FROM ".DB::table('common_member')." WHERE uid='$curuserid'");
//查出当前用户的EMIAL
echo "<br/>".$cususerinfo['email'];
//要查其它的信息,进数据库会员表(不进就网上找个表介绍的看)先查出字段名,把emal换了就行了
//查出所有用户,以注册日期排序
$query = DB::query("SELECT * FROM ".DB::table('common_member')." order by regdate" );
echo "<br/>" ;//换一行先
//开始输出
while($row = DB::fetch($query)) {
  echo  $row["uid"]."  " .$row["username"]."  ".$row["email"]."<br/>";
}
//嗨,就知道这些了
?>

以下为数据库操作函数,网摘的

函数功能
DB::table($tablename)获取正确带前缀的表名,[url=]转换数据库句柄[/url],
DB::delete($tablename, 条件,条数限制)删除表中的数据
DB::insert($tablename, 数据(数组),是否返回插入ID,是否是替换式,是否silent)插入数据操作
DB::update($tablename, 数据(数组)条件)更新操作
DB::fetch(查询后的资源)从结果集中取关联数组,注意如果结果中的两个或以上的列具有相同字段名,最后一列将优先。
DB::fetch_first($sql)取查询的第一条数据fetch
DB::result_first($sql)查询结果集的第一个字段值
DB::query($sql)普通查询
DB::num_rows(查询后的资源)获得记录集总条数
DB::_execute(命令,参数)执行mysql类的命令


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


文章版权及转载声明

本文作者:符文浩 网址:http://blog.fuwenhao.com/post/392.html 发布于 2021-03-20
文章转载或复制请以超链接形式并注明出处。

发表评论

快捷回复:

评论列表 (暂无评论,1031人围观)参与讨论

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码