Coldfusion CFQUERY w/Inner Join和Dateformat不工作

mck*_*mck 2 mysql coldfusion cfml lucee

我试图绕过处理连接,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>
Run Code Online (Sandbox Code Playgroud)

它正在奄奄一息

  #DateFormat(w.start_date, "m")#
Run Code Online (Sandbox Code Playgroud)

告诉我变量[W]不存在.对不起,我正在学习,因为我去了这里......

Ste*_*her 8

这里的问题是DateFormat()ColdFusion函数,并且不能应用MySQL"variable"(w).您需要使用MONTH()MySQL 的函数并将日期传递给它.

不要忘记清理表单输入,你很容易受到SQL注入.像这样使用cfqueryparam:

MONTH(w.start_date) = <cfqueryparam cfsqltype="cf_sql_integer" value="#form.home_by_month#" />
Run Code Online (Sandbox Code Playgroud)