SQLテーブルがあるとしましょうFruit
id | name
--- ------
1 | 'apples'
2 | 'pears'
3 | 'kiwi'
4 | 'bananas, peaches and plumbs'
次のクエリが与えられた場合
<cfquery name="qAllFruit" datasource="#DSN#">
SELECT name FROM Fruit
</cfquery>
<cfquery name="qLeftoverFruit" datasource="#DSN#">
SELECT name FROM Fruit
WHERE name NOT IN (<cfqueryparam CF_SQL_TYPE="CF_SQL_VARCHAR"
value="#ValueList(qAllFruit.name)#"
list="yes" />)
</cfquery>
展開されたリストが正しく解釈されないため、誤ってqLeftoverFruit
1 行が返されます。bananas, peaches and plumbs
cfqueryparam
WHERE name NOT IN ('apples','pears','kiwi','bananas','peaches and plumbs')
cfqueryparam
タグとをまだ使用している間にこれを修正する方法はありValueList
ますか?
更新この問題を再現するために使用できる要点は次のとおりです。