Coldfusion 避免神奇的价值观

Coldfusion 避免神奇的价值观,coldfusion,Coldfusion,我有一些只做更新的代码 <cfif tags NEQ "skip"> <cfquery> UPDATE myTable SET tags = <cfqueryparam cfsqltype="CF_SQL_varchar" value="#arguments.tags#"> WHERE ID = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#arguments.ID#"> </cfquery

我有一些只做更新的代码

<cfif tags NEQ "skip">
<cfquery>
UPDATE myTable
SET tags = <cfqueryparam cfsqltype="CF_SQL_varchar" value="#arguments.tags#">
WHERE ID = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#arguments.ID#">
</cfquery>

更新myTable
设置标记=
其中ID=

有什么比使用“跳过”作为神奇值更好的方法?请注意,blank是一个有效值

这取决于数据来自何处。理想情况下,我会将一个变量设置为true或false并进行检查。我猜在您的示例中,标记来自一个表单,“skip”是“None of the”的值。您可能需要使用一些东西作为一个神奇的值,但我更喜欢使用像
\uu SKIP\u TAGS\uu
这样的东西,这非常清楚

您还可以拆分页面逻辑,以便首先处理表单提交,检查神奇值并设置一个布尔值以确定是否从#tags#插入数据,然后在稍后使用该布尔值进行检查。总体逻辑是相同的,但布局更好


你可能想考虑在你的问题中添加更多的上下文,比如数据来自哪里,这样别人可以给你更好的建议

< p>这取决于数据来自哪里。理想情况下,我会将一个变量设置为true或false并进行检查。我猜在您的示例中,标记来自一个表单,“skip”是“None of the”的值。您可能需要使用一些东西作为一个神奇的值,但我更喜欢使用像
\uu SKIP\u TAGS\uu
这样的东西,这非常清楚

您还可以拆分页面逻辑,以便首先处理表单提交,检查神奇值并设置一个布尔值以确定是否从#tags#插入数据,然后在稍后使用该布尔值进行检查。总体逻辑是相同的,但布局更好


你可能想考虑在你的问题中添加更多的上下文,比如数据来自哪里,这样别人可以给你更好的建议< /P>空/空白值无效?也许这只是示例代码,但别忘了使用cfqueryparam来防止SQL注入!你所拥有的并不一定是坏的。@barnyr答案的第一句话非常相关。空/空值不起作用?也许这只是示例代码,但别忘了使用cfqueryparam来防止SQL注入!你所拥有的并不一定是坏的。@barnyr答案的第一句话非常贴切。我选择SKIP_标记选项是因为a)它比SKIP更不可能有效,并且是可搜索的我选择SKIP_标记选项是因为a)它比SKIP更不可能有效,并且是可搜索的