我正在努力集中精力处理联接、mysql 和 coldfusion。以下查询在没有最后一个条件的情况下有效。
<cfquery name="GetWeekends">
SELECT w.id, w.weekend_type, w.community_id, w.start_date, w.end_date,
w.language,
c.community_id, c.location, c.language, c.state, c.country
FROM _weekends w
INNER JOIN _communities c
ON w.community_id=c.community_id
WHERE w.weekend_type = 1 AND w.start_date > Now() AND
#DateFormat(w.start_date, "m")# = '#form.home_by_month#'
ORDER BY w.start_date ASC
</cfquery>
它死于
#DateFormat(w.start_date, "m")#
告诉我变量 [W] 不存在。抱歉,我边走边学...
最佳答案
这里的问题是 DateFormat()
是一个 ColdFusion 函数,不能与 MySQL“变量”(w
) 一起应用。您需要为 MySQL 使用 MONTH()
函数并将日期传递给它。
不要忘记清理您的表单输入,您很容易受到 SQL 注入(inject)的影响。使用 cfqueryparam像这样:
MONTH(w.start_date) = <cfqueryparam cfsqltype="cf_sql_integer" value="#form.home_by_month#" />
关于mysql - Coldfusion CFQUERY w/Inner Join & Dateformat 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39257829/