我正在使用CFLoop
. 我CFSaveContent
用来遍历变量并构建查询,然后我在CFQuery
using中执行它PreserveSingleQuotes
。这很好用,但这种方法的问题是我不能使用CFQueryParam
,所以我的查询很容易被注入。想知道这个问题是否有任何解决方法?
更新:
<cfsavecontent variable="sqlstring">
SELECT id
,(CASE
<cfloop query="qGetRules">
WHEN val1 >=#qGetRules.equ# AND val2 >#arguments.leve# THEN 1
</cfloop>
ELSE 0
END) AS criteria
FROM mt4_users
</cfsavecontent>
<cfquery name="qGetEquity" datasource="mydatasource">
#PreserveSingleQuotes(variables.sqlstring)#
</cfquery>
所以在这个例子中,你可以看到我不能使用cfqueryparam
,arguments.leve
因为它会崩溃PreserveSingleQuotes