我正在尝试解决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
变量具有Null或空白值,这会导致您的sql错误触发。
您可以有条件地对其进行调整:
<cfif oldPrice EQ "">
<cfset oldPrice = 0>
</cfif>
<cfset discountAmountClause = "CASE WHEN discountAmount_rateType = 0
THEN #oldPrice# * discountAmount_discount / 100
ELSE discountAmount_discount
END">