3

MySQLからのクエリに変数をフィードしようとしていますColdfusion。私のクエリには現在次のものが含まれています。

<cfif Session.app_assign EQ "0">
    AND art.iln IN ( #Session.app_ilns# )
<cfelseif Session.app_assign EQ "1">
    AND art.marke IN ( "#Session.app_keys#" )
</cfif>

Session.app_ilns次のような番号のリストになります:1111111111111,2222222222222....これは正常に機能します。HowerverはSession.app_keys、次のような文字列のリストになります。

sample_1, sample_2, sample_3

これにより、スクリプトでエラーが発生します。

unknown column "sample_1, sample_2, sample_3" in where clause.

質問:文字列値のリストで
MySQLを使用する方法はありINますか、それとも引用符を追加するために変数を事前にループする必要がありますか?これを行う他の方法はありますか?

ありがとう!

4

2 に答える 2

13

cfqueryparam(とにかく良い習慣)を使用してみてくださいlist="yes"

このBenNadelのブログ投稿を参照してください

コードは次のようになります。

AND art.marke IN ( <cfqueryparam value="#Session.app_keys#" cfsqltype="cf_sql_varchar" list="yes" />)
于 2012-11-13T22:12:59.917 に答える
2

とった。list="true"にセットできますcfqueryparam。こちらをご覧ください

于 2012-11-13T22:08:38.630 に答える