我可以使用MySQL“IN”和Coldfusion中的字符串列表吗?

时间:2012-11-13 21:58:50

标签: mysql string select coldfusion

我正在尝试将变量提供给来自MySQL的{​​{1}}查询。我的查询目前包括:

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> 将是一个数字列表,如下所示:1111111111111,2222222222222 ....工作正常。 Howerver,Session.app_ilns将是字符串列表,例如:

Session.app_keys
由于

会在我的脚本中产生错误

sample_1, sample_2, sample_3

问题
有没有办法将MySQL unknown column "sample_1, sample_2, sample_3" in where clause. 与字符串值列表一起使用,或者我需要预先循环变量以添加引号。还有其他方法可以完成这项工作吗?

谢谢!

2 个答案:

答案 0 :(得分:13)

尝试使用list="yes"

的cfqueryparam(无论如何)

请参阅此Ben Nadel blog post

代码如下:

AND art.marke IN ( <cfqueryparam value="#Session.app_keys#" cfsqltype="cf_sql_varchar" list="yes" />)

答案 1 :(得分:2)

知道了。我可以在list="true"中设置cfqueryparam。见here