【发布时间】:2014-01-11 21:41:34
【问题描述】:
我一直在尝试在 ColdFusion 中创建自己的论坛脚本,但遗憾的是,这比我想象的要困难得多。我在尝试显示数据库中的所有 cmets 时遇到困难,因为 ColdFusion 会引发错误。
以下信息仅供网站开发人员用于调试目的。
处理请求时发生错误
在 REAGEER 中未定义元素 USERNAME。
错误发生在C:/inetpub/wwwroot/content/1-Home/topicview.cfm: line 197
195: 196: <div id="pers_info"> 197: <a href="/">#reageer.username#</a> <cfif #reageer.online# is 1><img src="http://www.wonderhotel.nl/archive/icons/mini/habbo_online_anim.gif"></img><cfelse><img src="http://www.wonderhotel.nl/archive/icons/mini/habbo_offline.gif"></img></cfif></strong> 198: <p>Berichten: 55</p> 199:
我为此脚本编写的代码如下:
<cfif IsDefined('URL.id') and URL.id neq ""> // Get the topic ID
<cfquery name = "comments" datasource = "#DSN#">
SELECT *
FROM `forum_comments`
WHERE topicid = #id#
</cfquery> // Get the comments
<cfif #comments.RecordCount# is 1>
<cfquery name = "reageer" datasource = "#DSN#">
SELECT *
FROM `users`
WHERE id = #comments.poster#
</cfquery> // Get the comment posters
</cfif>
<cfset colour ="post_uneven">
<cfloop query="comments">
<div id="#colour#">
<div id="pers_info">
<a href="/">#reageer.username#</a> <cfif #reageer.online# is 1><img src="http://www.wonderhotel.nl/archive/icons/mini/habbo_online_anim.gif"></img><cfelse><img src="http://www.wonderhotel.nl/archive/icons/mini/habbo_offline.gif"></img></cfif>
<p>Berichten: 55</p>
<cfquery name = "reageer_badge_one" datasource = "#DSN#">
SELECT *
FROM `user_badges`
WHERE user_id = '#reageer.id#'
AND badge_slot = 1
</cfquery>
<cfquery name = "reageer_badge_second" datasource = "#DSN#">
SELECT *
FROM `user_badges`
WHERE user_id = '#reageer.id#'
AND badge_slot = 2
</cfquery>
<div id="pers_info_habbo">
<img src="http://habbo.nl/habbo-imaging/avatarimage?figure=#reageer.look#.gif">
</div>
<div id="pers_info_grbadge">
<cfif #reageer_badge_one.RecordCount# is 1>
<img src="http://wonderhotel.nl/Public/Images/badges/#reageer_badge_one.badge_id#.gif">
</cfif>
</div>
<div id="pers_info_badge">
<cfif #reageer_badge_second.RecordCount# is 1>
<img src="http://wonderhotel.nl/Public/Images/badges/#reageer_badge_second.badge_id#.gif">
</cfif>
</div>
<div id="pers_info_missie">
#reageer.motto#
</div>
</div>
<div id="post_text">
<a href="/"><div id="post_text_edit" title="Bericht aanpassen"></div></a>
<a href="/"><div id="post_text_delete" title="Bericht verwijderen"></div></a>
<div id="post_text_title">
RE: #gettopic.title#
</div>
<div id="post_text_date">
#DateFormat(dateAdd("s", comments.timestamp, "01/01/1970"))# #TimeFormat(dateAdd("s", comments.timestamp, "01/01/1970"))#
</div>
<div id="post_text_text">
#comments.text#
</div>
</div>
</div></div>
<cfif colour is "post_uneven"><cfset colour="post_even"><cfelse><cfset colour="post_uneven"></cfif>
</cfloop>
</cfoutput>
<div id="topic_info_balk"> // Useless
<div id="forum_paginas">
Bekijk pagina:
1
<a href="#">2</a>
<a href="#">3</a>
<a href="#">4</a>
<a href="#">5</a>
<a href="#">6</a>
<a href="#">7</a>
<a href="#">8</a>
<a href="#">9</a>
<a href="#">10</a>
<a href="#">>></a>
</div>
<div id="reageer-topic">
<a href="/topic/<cfoutput>#gettopic.id#</cfoutput>/comment">Reageer</a>
</div>
</div>
</div>
我真的不知道我做错了什么,以及为什么 ColdFusion 会给我这个错误。我将不胜感激所有的帮助!我唯一的猜测是 ColdFusion 试图(再次)从第一条评论的海报中获取所有数据,但这是错误的,因为我想获得评论 1、评论 2,然后是 3、4、5 等等。
此外,在向主题添加第一条评论时,一切正常。但是在添加第二个之后,我得到了你可以在上面看到的错误。
问候, 亚尼克
【问题讨论】:
-
专业提示:切勿在脚本或软件中使用
SELECT *。始终枚举要检索的列。username作为列名似乎有问题。 -
谢谢!我将列举它们。奇怪的是,当主题有1条评论时,用户名列没有任何问题,因为只有在发布2条cmets时才会出现错误..
标签: mysql coldfusion