返回列表 发帖
查看: 651|回复: 1

[求助] 求教大侠们:PW8.7转dz3.0在最后统计用户精华帖数这步报错

10

主题

64

回帖

87

积分

渐入佳境

贡献
1 点
金币
3 个
发表于 2023-5-6 10:43:23 | 显示全部楼层 |阅读模式
服务器软件        Apache/2.2.19 (Win32) PHP/5.2.17
服务器 MySQL 版本        5.0.90-community-nt

PW8.7转dz3.0,基本还算顺利,除了原来新鲜事的回复不能导入,其他基本都成功了,在最后统计用户精华帖数这步报错(在转换程序\cache\lock目录下,有个converterror.php,记录了所有转换错误,正在转的小伙伴们可以去查看一下。)报错代码如下:
  1. <?PHP exit;?>        2023-05-04 12:10:52        /tox3/index.php?mod=stats&do=memberdigests&op=detail&current=6000&pertask=3000        <b>XConvert info</b>: MySQL Query Error<br /> <br /> <b>Time</b>: 2023-5-4 12:10pm<br /> <b>SQL</b>: UPDATE x3gbk.[Table]common_member_count SET digestposts=digestposts+'6' WHERE uid IN (,17586,24053,6363)<br /> <b>Error</b>: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '17586,24053,6363)' at line 1<br /> <b>Errormsg.</b>: <br /> <b>Errno.</b>: 1064<br />
复制代码
QQ图片20230506104154.png

我知道答案 回答被采纳将会获得1 贡献 + 1 金币 已有1人回答
回复

使用道具 举报

10

主题

64

回帖

87

积分

渐入佳境

贡献
1 点
金币
3 个
 楼主| 发表于 2023-5-6 10:54:51 | 显示全部楼层
我查找了一下,代码文件在安装目录\source\module下面的stats.inc.php的第130行里,不知道是不是代码有问题,麻烦大侠们给指点一下!
  1. //统计用户精华帖数
  2.                         $membersarray = $postsarray = array();
  3.                         if($xc->config['db']['discuz_type'] == 'x') {
  4.                                 $xc->db['discuz']->query("UPDATE {$discuz_tablepre}common_member_count SET digestposts=0", 'UNBUFFERED');
  5.                         }
  6.                        
  7.                         $maxtid = $xc->db['discuz']->result($xc->db['discuz']->query("SELECT max(tid) FROM {$discuz_tablepre}".($xc->config['db']['discuz_type'] == 'x' ? "forum_thread": "threads")." WHERE digest<>'0' AND displayorder>='0'"), 0);
  8.                         if($current <= $maxtid) {
  9.                                 $processed = 1;
  10.                         }

  11.                         $query = $xc->db['discuz']->query("SELECT authorid FROM {$discuz_tablepre}".($xc->config['db']['discuz_type'] == 'x' ? "forum_thread": "threads")." WHERE digest<>'0' AND displayorder>='0' AND tid >= $current AND tid < $current + $pertask");
  12.                         while($thread = $xc->db['discuz']->fetch_array($query)) {
  13.                                 $thread['authorid'] && $membersarray[$thread['authorid']]++;
  14.                                 $processed = 1;
  15.                         }
  16.                        
  17.                         $extra_str = '';
  18.                         foreach($membersarray as $uid => $posts) {
  19.                                 $postsarray[$posts] .= $extra_str.$uid;
  20.                                 $extra_str = ',';
  21.                         }
  22.                         unset($membersarray);

  23.                         foreach($postsarray as $posts => $uids) {
  24.                                 $xc->db['discuz']->query("UPDATE {$discuz_tablepre}".($xc->config['db']['discuz_type'] == 'x' ? "common_member_count": "members")." SET digestposts=digestposts+'$posts' WHERE uid IN ($uids)", 'UNBUFFERED');
  25.                         }

  26.                         if($processed) {
  27.                                 $show_message =$xc->language['stats_donig'].' '.$xc->language['stats_from'].$current.$xc->language['stats_to'].$next.$xc->language['stats_rowdata'];
  28.                                 $show_message .= "<div id="checkflag" name="checkflag" style="width: 0px;height: 0px;overflow:auto;">ok</div>";
  29.                                 $show_url = 'index.php?mod=stats&do='.$do.'&op=detail&current='.$next.'&pertask='.$pertask;
  30.                                 $show_message .= "<p><a href="".$show_url."">".$xc->language['message_redirect']."</a></p><div align="right">[<a href="index.php?mod=stats&do=".$do."&op=detail&isstop=1  style="color:red">".$xc->language['message_stop']."</a>]</div><script>setTimeout("redirect('".$show_url."');", 1000);</script>";

  31.                         } else {
  32.                                 $show_message = $xc->language['convert_ready'].$xc->language['stats_memberdigests_finish'].$xc->language['convert_date'].'......<br>';
  33.                                 $show_message .= "<div id="checkflag" name="checkflag" style="width: 0px;height: 0px;overflow:auto;">ok</div>";
  34.                                 $show_url = 'index.php?mod=stats&do=forumposts&op=detail';
  35.                                 $show_message .= "<script>setTimeout("redirect('".$show_url."');", 1000);</script>";
  36.                         }
  37.                         file_put_contents(XCONVERT_ROOT.'./cache/lock/progress_stats.txt', $show_url);
  38.                 } elseif($do == 'forumposts') {
  39.                         //统计版块的主题数、回复数、最后发表主题
复制代码
QQ图片20230506105406.png

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-5-18 18:47 , Processed in 0.041477 second(s), 9 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表