本帖最后由 307119308 于 2011-7-8 23:32 编辑
下面这段代码实现了引用当前在线用户,调用DISCUZ 2.0 的数据库查询方法进行数据库查询,获取当前用户信息
<?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/>";
}
//嗨,就知道这些了
?>
小弟初学,请高手指点啊,来自http://www.vduty.com
以下为数据库操作函数,网摘的
函数 | 功能 | 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')都将被拒绝执行。
|