cfqueryparam从输入复选框传入列表

我有一个输入复选框字段,用户可以在其中选择表单中的多个复选框,并且根据他们选择的内容,它将创建一个 id 字符串,如 10、14、35、47,并将其提交到数据库。如果我直接提交它,我可以提交这个,如下所示:

user_job_type_id="#form.user_job_type_id#",

但是,如果我尝试将它包装在 cfqueryparam 中,我宁愿这样做以使其更安全,无论我做什么,我都会收到错误消息。无论我是否将它设置为列表 true 或 false、varchar、integer,一切都会引发错误,例如 cfqueryparam 不接受列表。

例如,下面将不起作用

user_job_type_id=<cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#form.user_job_type_id#" list="Yes"/>,

我在这里缺少什么?

回答

正如@SOS 提到的,IN在检查括号中的值列表时需要使用语句。此外,由于值都是整数,请确保指定正确的cfsqltype. 这可确保对列表中的每个元素进行正确的日期类型检查。

错误的:

user_job_type_id = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#form.user_job_type_id#" list="Yes"/>,

更好的:

user_job_type_id IN (<cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#form.user_job_type_id#" list="Yes"/>),

最好的事物:

user_job_type_id IN (<cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#form.user_job_type_id#" list="Yes"/>),


以上是cfqueryparam从输入复选框传入列表的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>