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

WBOY
發布: 2016-06-23 13:51:47
原創
1125 人瀏覽過

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學習者快速成長!