Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

论坛发起辩论后,点立场筛选(中立正方反方)出现页面错误

[复制链接]
青年中心 发表于 2012-6-8 09:21:22 | 显示全部楼层 |阅读模式
论坛发起辩论后,点立场筛选(中立正方反方)出现页面错误。
错误页面如下:
Discuz! Database Error(1064) 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 '1 ORDER BY p.dateline LIMIT 10' at line 1SELECT dp.*, p.* FROM forum_post p LEFT JOIN forum_debatepost dp ON p.pid=dp.pid WHERE p.tid=5665 AND p.`invisible`='0'1 ORDER BY p.dateline LIMIT 10

PHP Debug
No.FileLineCode
1forum.php58require(%s)
2source/module/forum/forum_viewthread.php536table_forum_post->fetch_all_debatepost_viewthread_by_tid(%s, %s, %d, %s, false, %d, %d, %d)
3source/class/table/table_forum_post.php216discuz_database::query(%s, Array)
4source/class/discuz/discuz_database.php136db_driver_mysql->query(%s, false, false)
5source/class/db/db_driver_mysql.php151db_driver_mysql->halt(%s, %d, %s)
6source/class/db/db_driver_mysql.php218break()


mark35 发表于 2012-6-8 09:39:41 | 显示全部楼层
SELECT dp.*, p.* FROM forum_post p LEFT JOIN forum_debatepost dp ON p.pid=dp.pid WHERE p.tid=5665 AND p.`invisible`='0'1 ORDER BY p.dateline LIMIT 10
里面差了字段名  stand=, 应该是  p.invisible=0 AND stand=1
回复

使用道具 举报

 楼主| 青年中心 发表于 2012-6-9 16:26:46 | 显示全部楼层
请教下改什么文件?感谢指教。
回复

使用道具 举报

mark35 发表于 2012-6-10 16:24:39 | 显示全部楼层
青年中心 发表于 2012-6-9 16:26
请教下改什么文件?感谢指教。

我对X不了解,不知道在哪儿修改。只了解7.2的。
回复

使用道具 举报

shady76 发表于 2012-6-11 15:11:20 | 显示全部楼层
找到/source/class/table/table_forum_post.php里的fetch_all_debatepost_viewthread_by_tid
把整个函数替换成如下内容,可完美解决(QQ199_38_133,作为一个高手,我习惯了孤独):
  1. public function fetch_all_debatepost_viewthread_by_tid($tid, $visibleallflag, $authorid, $stand, $forum_pagebydesc, $ordertype, $start, $limit) {
  2.                                 
  3.                 $data = array();
  4.                 $parameter = $this->handle_viewthread_parameter($visibleallflag, $authorid, $forum_pagebydesc, $ordertype, 'p.');
  5.                
  6.                 $query = DB::query("SELECT dp.*, p.* FROM %t p LEFT JOIN %t dp ON p.pid=dp.pid WHERE p.tid=%d".
  7.                                 ($parameter['invisible'] ? ' AND '.$parameter['invisible'] : '').($parameter['authorid'] ? ' AND '.$parameter['authorid'] : '').
  8.                                 (isset($stand) ? ' AND (dp.stand=%d OR p.first=1)' : ' AND (dp.stand=0 OR dp.stand=1 OR dp.stand=2 OR dp.stand IS NULL OR p.first=1)').
  9.                                 ' '.$parameter['orderby'].
  10.                                 ' '.DB::limit($start, $limit),
  11.                                 array(self::get_tablename('tid:'.$tid), 'forum_debatepost', $tid, $stand));
  12.                 while($post = DB::fetch($query)) {
  13.                         $data[$post['pid']] = $post;
  14.                 }
  15.                 return $data;
  16.         }
复制代码
回复

使用道具 举报

 楼主| 青年中心 发表于 2012-6-14 15:08:23 | 显示全部楼层
这是DZ的程序不行吗?
回复

使用道具 举报

m.king 发表于 2012-6-14 17:27:36 | 显示全部楼层
该问题我们已经发现并已经修复,感谢您的反馈!
回复

使用道具 举报

 楼主| 青年中心 发表于 2012-6-16 15:58:16 | 显示全部楼层
m.king 发表于 2012-6-14 17:27
该问题我们已经发现并已经修复,感谢您的反馈!

现在可以用了吗?我们什么地方更新
回复

使用道具 举报

CoolRock 发表于 2012-6-30 02:33:24 | 显示全部楼层
m.king 发表于 2012-6-14 17:27
该问题我们已经发现并已经修复,感谢您的反馈!

已经修复了  不出一个修改方法吗?
回复

使用道具 举报

毛乔松 发表于 2012-7-1 09:45:30 | 显示全部楼层
我也出现这样的问题,这DZ本身的问题不,我安装的全新2.5版本
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-2-25 23:32 , Processed in 0.032355 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表