避免魔术价值

时间:2012-11-23 06:40:11

标签: 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>

比使用“跳过”作为魔术值更好的方法是什么?请注意,blank是有效值。

1 个答案:

答案 0 :(得分:4)

这取决于数据的来源。理想情况下,我将变量设置为true或false并检查。我猜你的示例标签来自一个表单,'skip'是'没有这些'的值。你可能必须使用某些东西作为一种神奇的价值,但我更喜欢使用__SKIP_TAGS__之类的东西,这很清楚。

您还可以拆分页面逻辑,以便首先处理表单提交,检查魔术值并设置是否从#tags#插入数据的布尔值,然后使用布尔值进行检查。整体逻辑是相同的,但更好地布局。

您可能需要考虑在问题中添加更多上下文,例如数据的来源,以便其他人可以为您提供更好的建议