我正在使用 ColdFusion 构建更新查询,但无法弄清楚为什么这段代码不起作用?请注意,它直接在 mysql 服务器内工作,因此 SQL 必须有效,只是在标签内调用时不会更新我的数据。
我正在为这个问题而绞尽脑汁,很想得到有想法的人的帮助。我的感觉是 ColdFusion 在到达数据库之前弄乱了格式。感谢大家抽出宝贵的时间。
<cfquery name="qry" datasource="uf">
UPDATE users set expiry = (SELECT DATE_ADD("#user_qry.expiry#", INTERVAL 10 DAY)), active = 1 where user_id = #user_id#
</cfquery>
最佳答案
您正在混合 CF 和 MySQL 日期逻辑。我只会坚持一个。使用SELECT dateAdd("d",10,CreateODBCDate(user_qry.expiry))...
。这样,使用 CF 的 dateAdd(),您可以向 CF 内部的 CF 日期对象添加 10 天,而不是尝试让 MySQL 向 CF 生成的日期字符串添加 10 天。
此外,您还需要在 WHERE 语句中使用 cfqueryparam。确保清理您的输入。
关于mysql - 无法弄清楚为什么我的一些 SQL 代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45086625/