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

只是喜欢 2014-08-09 09:49:57
add.inc.php:

<?php
if(!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怎么写才正确?先谢谢了!
...全文
499 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xp2600 2016-05-30
  • 打赏
  • 举报
回复
诶 我的处女答给你吧 你上面那个问题 应该是跟 访问文件的 路径有关系 举例 如果你用 www.domain.com/index.php?plugin=youplugin 来访问和使用你的插件 就可以使用 ./ 但是如果你要直接访问你的插件文件 www.domain.com/plugins/yourplugin.php 的话 就必须使用../../../ 不知道你是否看出来两个区别了? 自己做个测试试试吧。
只是喜欢 2014-08-10
  • 打赏
  • 举报
回复
单独访问这个页面,没有任何输出,一片空白
只是喜欢 2014-08-10
  • 打赏
  • 举报
回复
嗯 非常感谢jam00的耐心解答,谢谢! 但是我见所有的插件都不会用 ../../../ 都是 ./也能正常 目录层数都一样,为什么我的就必需用 ../../../ ?用绝对路径为什么也不得?
果酱很好吃 2014-08-10
  • 打赏
  • 举报
回复
..是上一级目录开始查找 .是当前目录开始查找
只是喜欢 2014-08-10
  • 打赏
  • 举报
回复

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';//引入系统核心文件
路径没设好?
只是喜欢 2014-08-10
  • 打赏
  • 举报
回复

include '../source/class/class_core.php';
$discuz = & discuz_core::instance();
$discuz->init();
print_r($_G);
这样是有变量输出的,为什么: include '../source/class/class_core.php'; ../就有输出,./没有输出呢?
只是喜欢 2014-08-09
  • 打赏
  • 举报
回复

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

?> 
就算这样执行也没有写入, 插件块那里用不用定义add.inc.php?
果酱很好吃 2014-08-09
  • 打赏
  • 举报
回复
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_前缀(若设置有)
果酱很好吃 2014-08-09
  • 打赏
  • 举报
回复
不成功总有提示吧,就是错误报告 你单独访问这个页面试试,成不成功

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧