我正在尝试解决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">

10-04 10:44