Что не так с моей простой вставкой? - PullRequest
0 голосов
/ 20 декабря 2010

Я использую coldfusion для вставки содержимого структуры (пары ключ-значение) в таблицу базы данных. Это мой код:

<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 ]

10 голосов
/ 20 декабря 2010

Вы действительно должны подумать о параметризации своих данных.

<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>
2 голосов
/ 20 декабря 2010

Я думаю, что, возможно, решил это ... забыл кавычки, и они оба поля varchar: - /

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