【发布时间】:2014-04-09 23:23:10
【问题描述】:
我正在尝试解决我们的 Coldfusion 应用程序的问题。
我认为问题是这一行-:
<cfset discountAmountClause =
"CASE WHEN discountAmount_rateType = 0 THEN #oldPrice# * discountAmount_discount / 100
ELSE discountAmount_discount END">
来自应用程序的错误消息是您的 SQL 语法有错误;查看与您的 MySQL 服务器版本相对应的手册,了解在 '* discountAmount_discount / 100 ELSE discountAmount_discount END
附近使用的正确语法我不确定代码是否存在问题或更严重的问题,所以如果有比我更有经验的人能提供一些启发,我将非常感激......
【问题讨论】:
-
( #oldPrice# * discountAmount_discount ) / 100? -
查看发送到数据库的整个 SQL 语句。这是您引用的数据库错误,而不是 CF 错误(您也应该修改问题标题)
-
oldPrice 的值是多少?
-
与错误本身无关,但使用动态 sql 可以将您的数据库暴露给 sql 注入。您应该强烈考虑重组您的查询以改用cfqueryparam。
-
oldprice 的值是问题所在!我将发布一个完整的答案来解释。 @Leigh 我正在尝试处理所有查询并添加参数,但这是一个缓慢的过程......
标签: mysql coldfusion