无法弄清楚为什么我的某些 SQL 代码不起作用
Can't figure out why some of my SQL code doesn't work
我正在使用 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。确保清理您的输入。
我正在使用 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。确保清理您的输入。