Cfquery显然不使用WHERE的参数值

时间:2017-07-16 00:00:09

标签: mysql coldfusion

我们有一个上传表单,可以从我们的编辑应用程序的各个部分调用。此表单中的字段将根据其调用位置进行填充。因此,如果用户位于“概述”页面并使用该表单,则相关字段将填充“概述”。在测试中,该字段确实已正确填充,并且表单字段值确实已发布。

我将此值作为参数传递给我们的CFC:

<cfargument name="imageType" type="string" required="true" default="">

然后我用它来运行查询:

<cfquery name="getImageType">
    SELECT ID AS imageTypeID
    FROM tbl_imagetypes
    WHERE type = <cfqueryparam value="#ARGUMENTS.imageType#" cfsqltype="cf_sql_varchar">
</cfquery>

然后我使用生成的imageTypeID来更新其他一些表,如下所示:

<cfquery name="addNewImageJoin" datasource="vertipedia" result="AddNewJoinResult">
    INSERT INTO tbl_imageJoins (imageID,aircraftID,imageTypeID,isPrimary)
    VALUES (
            <cfqueryparam value="#AddNewImageResult.generated_key#" cfsqltype="cf_sql_numeric">,
            <cfqueryparam value="#ARGUMENTS.aircraftID#" cfsqltype="cf_sql_numeric">,
            <cfqueryparam value="#getImageType.imageTypeID#" cfsqltype="cf_sql_numeric">,
            <cfqueryparam value="no" cfsqltype="cf_sql_varchar">
            )
</cfquery>

麻烦的是,它不起作用!我没有收到任何错误,但我的其他表也没有得到更新。但是,当我注释掉上述查询并硬编码所有其他查询(例如将#getImageType.imageTypeID#替换为“1”)时,它们工作正常。

我已经看了一段时间,但我看不出有什么理由不起作用。我希望这是一件愚蠢的事情,因为我已经盯着它看了这么久!我非常感谢任何建议或意见。

提前谢谢大家!再次,“imageType”表单字段的值被发布 - 至少,我可以看到它与Firebug中所有其他字段的值。

0 个答案:

没有答案