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_前缀(若设置有)

解决方案 »

  1.   


    <?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?
      

  2.   


    include '../source/class/class_core.php';
    $discuz = & discuz_core::instance();
    $discuz->init();
    print_r($_G);
    这样是有变量输出的,为什么:include '../source/class/class_core.php';../就有输出,./没有输出呢?
      

  3.   


    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';//引入系统核心文件
    路径没设好?
      

  4.   

    嗯 非常感谢jam00的耐心解答,谢谢!但是我见所有的插件都不会用 ../../../都是 ./也能正常目录层数都一样,为什么我的就必需用 ../../../ ?用绝对路径为什么也不得?