mysql - Coldfusion CFQUERY w/Inner Join & Dateformat 不工作

标签 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>

它死于

  #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/

相关文章:

coldfusion - CFWINDOW - 在 CF 中提交表单以留在 CFWindow 中

postgresql - 如何在不将其保存为 "\%"的情况下使用 PostgreSQL 中的文字百分比文字 (%) 更新记录

coldfusion - 如何在 Railo 中捕获 "coldfusion.runtime.MissingArgumentException"等效项?

function - 当我直接输出从 <cffunction> 返回的值时,为什么 Lucee 会在前面添加一个前导空格字符?如何停止它?

mysql - ColdFusion/Railo 脚本中出现 SQL 错误 "new query()"

mysql - 如何减少每个月的查询次数

php - 离线存储数据直至在线连接

mysql 计数表就像在数据库中

mysql - 哪个查询更好更高效 - mysql

mysql - nodeJS 从回调返回值