Quel est le problème avec mon insert simple?
-
11-10-2019 - |
Question
J'utilise coldfusion pour insérer le contenu d'une struct (paires clé-valeur) dans une table de base de données. Ceci est mon code:
<cfloop collection="#results#" item="ID" >
<cfquery name="insertStuff" datasource="myDataSource">
INSERT INTO web..Stuff (ID, Name)
VALUES (#ID#, #results[ID]#)
</cfquery>
</cfloop>
Cela semble assez simple ... mais j'obtiens l'erreur suivante:
Incorrect syntax near 'VA'.
Toutes les idées?
La solution
Vous devriez vraiment penser à vos données aussi paramétrer.
<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>
Autres conseils
Je pense que je l'ai résolu ... oublié les guillemets, et ils sont les deux champs varchar: - /
<cfloop collection="#results#" item="ID" >
<cfquery name="insertStuff" datasource="myDataSource">
INSERT INTO web..Stuff (ID, Name)
VALUES ('#ID#', '#results[ID]#')
</cfquery>
</cfloop>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow