求助 版主:官方研发技术组
数据库表存在数据报错不存在
类型:迅睿CMS 更新时间:2022-12-31 22:16:29

数据表存在数据,但是错误提示却提示不存在imageimage

回帖
  • 迅睿框架联合创始人
    #1楼    迅睿框架联合创始人
    2022-12-31 19:34:30
    诺基亚手机 0
    图二看看数据表的名字是否一致的
  • rooperson
    #2楼    rooperson
    2022-12-31 19:42:44
    Chrome 0
    迅睿框架联合创始人,数据库表是yg_2_news_data_0,关联的是这张表yg_2_news_data_0
    image
  • 迅睿框架联合创始人
    #3楼    迅睿框架联合创始人
    2022-12-31 21:23:31
    诺基亚手机 0
    你的提示是yg_2_news_data_1,并不是yg_2_news_data_0,yg_2_news_data_1是数据量满10万后自动创建的附表,在后台发布内容时就会自动创建这个表
  • rooperson
    #4楼    rooperson
    2022-12-31 22:07:52
    Chrome 0
    迅睿框架联合创始人 我的数据总共才900多条,而且这个都是导入数据,不是后台添加了,就只不知道为啥跳转到了yg_2_news_data_1,数据库确实是没有这个表
  • 迅睿框架联合创始人
    #5楼    迅睿框架联合创始人
    2022-12-31 22:10:15
    诺基亚手机 0
    id号大于10万就会入库到data_1那说明你不是正规通过后台入库的,肯定不行了,用正规入库方法
       // 入库数据
    $this->_module_init('news'); // news 是模块目录
        $data = $_REQUEST;
    
        // 发布者id 1
        $data['uid'] = 1;
    
        // 发布者笔名 admin
        $data['author'] = 'admin';
    
        // 主表字段
        $fields[1] = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR));
        $cache = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_category_data'));
        $cache && $fields[1] = array_merge($fields[1], $cache);
    
        // 附表字段
        $fields[0] = $this->get_cache('table-'.SITE_ID, $this->content_model->dbprefix(SITE_ID.'_'.MOD_DIR.'_data_0'));
    
        // 去重复
        $fields[0] = array_unique($fields[0]);
        $fields[1] = array_unique($fields[1]);
        
        // 格式化入库字段
        
        // 一般是格式化非文本类的字段(例如多文件上传、复选框、联动字段等等)
        // 这里需要按采集资料的格式入库格式化字段,
        
        
        // 开始归类存储
    
        $save = [];
    
        // 主表附表归类
        foreach ($fields as $ismain => $field) {
            foreach ($field as $name) {
                isset($data[$name]) && $save[$ismain][$name] = $data[$name];
            }
        }
        if (!$data['catid']) {
           exit('栏目为空');
        }
    
        $save[1]['uid'] = $save[0]['uid'] = $data['uid'];
        $save[1]['catid'] = $save[0]['catid'] = $data['catid'];
    
        $save[1]['url'] = ''; // 地址留空,系统会自动生成
        $save[1]['status'] = 9; //9表示正常发布,1表示审核里面
        $save[1]['hits'] = 0; // 阅读数
        $save[1]['displayorder'] = 0; // 排序权重值,默认填写0
        $save[1]['link_id'] = 0; // 填写0不管他
        $save[1]['inputtime'] = SYS_TIME; // 发布时间设置成为当前时间
        $save[1]['updatetime'] = SYS_TIME; // 更新时间也设置成为当前时间,关于时间采集如果是这种格式2022-12-12xx,那么需要使用strtotime函数转换成时间戳入库
        $save[1]['inputip'] = '127.0.0.1'; // 发布者ip地址
        
        //$save[1]['keywords'] = dr_get_keywords( $save[1]['title']); // 按插件提取关键词
        
        //$save[1]['description'] = dr_get_description( $save[0]['content'], 100); // 在内容里面提取100个子作为描述
    
        // 验证标题重复
        if ($this->content_model->table(SITE_ID.'_'.MOD_DIR)->where('title', $save[1]['title'])->counts()) {
            echo '重复';exit;
        }
    
        $rt = $this->content_model->save_content(0, $save);
    大体思路是这样的,你可以研究下如何用php代码来实现这个流程;遇到不会写代码,可以找官方来开发
    满意答案
  • rooperson
    #6楼    rooperson
    2022-12-31 22:15:54
    Chrome 0
    迅睿框架联合创始人 好的,我先试试,谢谢
  • rooperson
    #7楼    rooperson
    2022-12-31 22:16:29
    Chrome 0
    @迅睿框架联合创始人:回答很详细,继续摸索