我的简单插入有什么问题?

时间:2010-12-20 08:47:30

标签: coldfusion insert cfquery

我正在使用coldfusion将struct(键值对)的内容插入到数据库表中。这是我的代码:

<cfloop collection="#results#" item="ID" >
    <cfquery name="insertStuff" datasource="myDataSource">
        INSERT INTO web..Stuff (ID, Name)
        VALUES (#ID#, #results[ID]#)
    </cfquery>
</cfloop>

这看起来很简单......但我收到以下错误:

Incorrect syntax near 'VA'. 

有什么想法吗?

2 个答案:

答案 0 :(得分:10)

你真的应该考虑参数化你的数据。

<cfloop collection="#results#" item="ID" >
    <cfquery name="insertStuff" datasource="myDataSource">
        INSERT INTO web..Stuff (ID, Name)
        VALUES (
            <cfqueryparam cfsqltype="cf_sql_varchar" value="#ID#">, 
            <cfqueryparam cfsqltype="cf_sql_varchar" value="#results[ID]#">)
    </cfquery>
</cfloop>

答案 1 :(得分:2)

我想我可能已经解决了......忘记了引号,它们都是varchar字段: - /

<cfloop collection="#results#" item="ID" >
    <cfquery name="insertStuff" datasource="myDataSource">
        INSERT INTO web..Stuff (ID, Name)
        VALUES ('#ID#', '#results[ID]#')
    </cfquery>
</cfloop>