我想使用绑定到另一个cfm页面来检查数据库。
顶部是我写的一个我认为可行的查询。如果Tag的计数大于0,那么if语句应该触发说明已经采用了Tag。 我可以编写查询,但我不知道如何将它实现到它下面的逻辑中。
这是我的绑定页面:
<cfquery name="TagCheck" datasource="PostBlog">
select Count(Category)
from Categories
where Category = #URL.Category#
</cfquery>
<cfif URL.Category NEQ "">
<cfif Compare(URL.Category, "2") EQ 0>
<span style="color: red;">The Category <cfoutput>#URL.Category#</cfoutput> already exist within the database.</span>
<cfelse>
<cfoutput><span style="color: Green;">#URL.Category# is available</cfoutput>
</cfif>
</cfif>
答案 0 :(得分:2)
首先,在将动态值传递给查询时使用cfqueryparam,尤其是如果它是用户可以指定的内容。
其次,当使用像Count()这样的聚合函数时,如果要稍后使用该值,则需要指定别名。
<cfquery name="TagCheck" datasource="PostBlog">
select Count(Category) AS CategoryCount
from Categories
where Category = <cfqueryparam value="#URL.Category#" CFSQLType="CF_SQL_INTEGER">
</cfquery>
最后,在你的逻辑中你应该只需要这样做:
<cfif URL.Category NEQ "">
<cfif TagCheck.CategoryCount GT 0>
<span style="color: red;">The Category <cfoutput>#URL.Category#</cfoutput> already exist within the database.</span>
<cfelse>
<cfoutput><span style="color: Green;">#URL.Category# is available</cfoutput>
</cfif>
</cfif>