Coldfusion cfset日期变量

时间:2014-10-14 19:17:56

标签: date coldfusion

我看到了类似的帖子,但不完全是我想要完成的。

我想要做的就是将当前日期和时间保存在我可以添加到数据库表的变量中。但是当表单提交时,我收到了500 Server错误

到目前为止,我的代码如下:

<cfif isDefined("FORM.submit") AND #FORM.submit# IS NOT "">
    <cfoutput>
        <cfset var submit_date = #DateFormat(Now(),"mm/dd/yy - HH:mm:ss")#>
        <cfquery name="InsertSuggestion" datasource="MainDB">
            INSERT INTO Suggestion_Form (Submission_Date,Submission_Content)
            VALUES      ('#submit_date#','#FORM.suggestion_text#')
        </cfquery>
    </cfoutput>
    <div style="text-align:center;width:100%;">We value your feedback. Your request has been recieved.</div>  
<cfelse>

2 个答案:

答案 0 :(得分:5)

如果您的RDBMS有返回当前日期和时间的东西,我建议使用它。例如,在sql server中,您的查询变为:

INSERT INTO Suggestion_Form 
(Submission_Date
,Submission_Content
)
VALUES      
(getdate()
, <cfqueryparam cfsqltype="cf_sql_varchar" value="#FORM.suggestion_text#">
)

如果您想从ColdFusion提交内容,请立即提交()。

VALUES      
(<cfqueryparam cfsqltype="cf_sql_timestamp" value="#now()#">

与您的问题无关,但我还添加了一个查询参数标记,可为您带来许多好处。此外,我使用的格式,每行1个字段,左侧有逗号,如果您需要进行故障排除,则可以更轻松地对其进行注释。

答案 1 :(得分:1)

假设您使用的是Mysql,您将以错误的格式发送日期。 MySql以yy / mm / dd格式存储日期。因此,如果您将中心<cfset var submit_date = #DateFormat(Now(),"mm/dd/yy - HH:mm:ss")#>更改为<cfset var submit_date = #DateFormat(Now(),"YY/MM/DD - HH:mm:ss")#>.,它应该可以正常工作。