discuz的插件是怎么操作数据库的?

WBOY
发布: 2016-06-23 13:51:47
原创
1124 人浏览过

add.inc.php:

<?phpif(!defined('IN_DISCUZ')) {        exit('Access Denied');}$q1 = $_REQUEST['q1']; $addtime = time();	$insert_array = array(			'baankid'=>$q1,	);	$cone = DB::insert('pre_xyk',$insert_array);?> 
登录后复制


echo $q1; 这样是有输出的,但是怎么写不进数据的?

DZ的插件是怎么操作数据库的?

add.inc.php怎么写才正确?先谢谢了!


回复讨论(解决方案)

require './source/class/class_core.php';C::app()->init();$insert_array = array(	'classname'=>'test',	'uid'=>1,	'dateline'=>time());if(DB::insert('home_class',$insert_array)){	echo 'ok';}/*ok*/
登录后复制

插入不成功discuz应该报错,怎么没有错误提示?
猜测:
1、class_core.php没有引入,并且没有初始化,不能使用DB调用
2、pre_xyk是表全名,默认是不要pre_前缀(若设置有)

<?phprequire './source/class/class_core.php';C::app()->init(); $insert_array = array(    'baankid'=>1,);if(DB::insert('xyk',$insert_array)){    echo 'ok';}?> 
登录后复制


就算这样执行也没有写入,
插件块那里用不用定义add.inc.php?

不成功总有提示吧,就是错误报告
你单独访问这个页面试试,成不成功

单独访问这个页面,没有任何输出,一片空白

include '../source/class/class_core.php';$discuz = & discuz_core::instance();$discuz->init();print_r($_G);
登录后复制


这样是有变量输出的,为什么:

include '../source/class/class_core.php';

../就有输出,./没有输出呢?

require '../../../source/class/class_core.php';//引入系统核心文件$discuz = & discuz_core::instance();//以下代码为创建及初始化对象$discuz->cachelist = $cachelist;$discuz->init();//以上是调用discuz公共执行类等核心代码//写入数据库$arr=array();$arr['userid'] = $userid;$count1=DB::insert('xyk',$arr);
登录后复制


这样已经能写入了,有点不明白,为什么这样就得:
require '../../../source/class/class_core.php';//引入系统核心文件
登录后复制


这样就不得:
require './source/class/class_core.php';//引入系统核心文件
登录后复制


路径没设好?

..是上一级目录开始查找
.是当前目录开始查找

嗯 非常感谢jam00的耐心解答,谢谢!

但是我见所有的插件都不会用 ../../../

都是 ./也能正常

目录层数都一样,为什么我的就必需用 ../../../ ?用绝对路径为什么也不得?

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!