1

更新のみを行うコードがいくつかあります

<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>

「スキップ」を魔法の値として使用するよりも良いアプローチは何でしょうか? ブランクは有効な値であることに注意してください。

4

1 に答える 1

4

データがどこから来ているかによって異なります。理想的には、変数を true または false に設定して、それを確認します。あなたの例では、タグはフォームから来ており、「スキップ」は「これらのどれでもない」の値であると推測しています。おそらく魔法の値として何かを使用する必要があります__SKIP_TAGS__が、非常に明確なようなものを使用することをお勧めします.

ページのロジックを分割して、最初にフォームの送信を処理し、マジック値をチェックして #tags# からデータを挿入するかどうかのブール値を設定し、後でブール値を使用してチェックすることもできます。全体的なロジックは同じですが、より適切にレイアウトされています。

他の人がより適切なアドバイスを提供できるように、データの取得元など、質問にもう少しコンテキストを追加することを検討することをお勧めします。

于 2012-11-23T06:54:10.953 に答える