我有一个非常简单的CFML页面如下:
<cfquery name="qry" datasource="#application.db.source#" username="#application.db.user#" password="#application.db.pass#">
SELECT * FROM changemgmt.rfc WHERE rfc_id = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="0">;
</cfquery>
<cfoutput query="qry">
#qry.RecordCount#
</cfoutput>我的<cfoutput>标记不像我所期望的那样工作。如果要查看这个页面的源代码,它将完全由空行组成。就像服务器正在解析<cfoutput>标记一样。但是,如果我将代码更改为:
<cfoutput>
#qry.RecordCount#
</cfoutput>我使用Lucee作为后端CFML引擎。有人能向我解释一下为什么会有不同吗?
发布于 2022-08-12 01:07:42
<cfoutput query="qry">用于循环抛出查询中的所有行。如果查询结果没有行,则执行将永远不会到达<cfoutput query="qry">中的登录。但是,如果结果中有1+n行,则代码将打印记录计数1+n时间。
在这种情况下,如果您只想打印结果的记录计数,那么只需要使用<cfoutput>#qry#</cfoutput>
但是,如果要打印查询的每一行值,则可以使用<cfoutput query="qry">
<cfoutput query="qry">
<div>
<span>#qry.rfc_id#</span>
<span>#qry.name#</span>
...
</div>
</cfoutput>https://stackoverflow.com/questions/73327637
复制相似问题