coldfusion - 通过循环结构插入到表中

标签 coldfusion sql-insert cfloop

我正在尝试插入代码,但它是在每一行中插入值,而不是问题中的问题值和答案中的答案值:

<cfset StructDelete(structform,'title')>
<cfset StructDelete(structform,'mode')>
<cfset StructDelete(structform,'formsubmission')>
<cfset StructDelete(structform,'file_upload')>
<cfset StructDelete(structform,'czContainer_czMore_txtCount')>
<CFSET StructDelete(structform,'action')>
<CFLOOP collection="#structform#" index="whichPair">
    <cfset Questions = "question" & structform[whichPair]>
    <cfset answer = "answer" & structform[whichpair]>
    <cfquery name="insertData" datasource="aas">
        insert into faqsquestions(question,answer,createdon,faqID) 
        values(<cfqueryparam cfsqltype="cf_sql_varchar" value="#Right(questions, Len(questions)-8)#">,
        <cfqueryparam cfsqltype="cf_sql_longvarchar" value="#Right(answer, Len(answer)-8)#">,
        <cfqueryparam cfsqltype="cf_sql_date" value="#CreateODBCDate(now())#">,
        <cfqueryparam cfsqltype="cf_sql_integer" value="#getLastID#">)
    </cfquery>
</CFLOOP>
  • 谁能告诉我我在这里做错了什么,我知道我在循环内使用问题作为静态值作为 cfset 并有权删除该问题变量,这没有任何意义但是当我完成修复我的代码时,我会删除它 问题和答案是这样的:

http://prntscr.com/lntu2l

最佳答案

对于您要执行的操作,这是错误的循环类型。原因是结构循环迭代一次 - 对于每个字段。当您想要的是循环一次时 - 针对每字段。

一个简单的选项是在您的表单中添加一个隐藏字段,其中包含对的总数。

<input type="hidden" name="NumberOfQuestions" value="#TheTotalNumberHere#">

然后将总数与 fromto 循环一起使用。在每次迭代中,提取问题和答案字段的当前值,并在您的查询中使用它们:

<cfloop from="1" to="#FORM.NumberOfQuestions#" index="pairNum">
    <cfset question = FORM["question"& pairNum]>  
    <cfset answer = FORM["answer"& pairNum]>  

    <cfquery ...>
        INSERT INTO faqsQuestions(question,answer,createdon,faqID) 
        VALUES (
            <cfqueryparam cfsqltype="cf_sql_varchar" value="#question#">
            ,  <cfqueryparam cfsqltype="cf_sql_longvarchar" value="#answer#">
            ,  <cfqueryparam cfsqltype="cf_sql_date" value="#now()#">
            ,  <cfqueryparam cfsqltype="cf_sql_integer" value="#getLastID#">
        )
    </cfquery>
</cfloop>

关于coldfusion - 通过循环结构插入到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53509978/

相关文章:

arrays - 变量中带有逗号的 ColdFusion 表单数组

javascript - ColdFusion 编码问题 -encodeForHTML 和encodeForJavascript 删除反斜杠

cookies - ColdFusion 10 CFCookie 不遵守域属性

coldfusion - 有没有办法从 Coldfusion 内部访问有关 Coldfusion 服务器负载的信息?

php - 使用我的 iphone 应用程序中的 php 将字符串(带空格)插入 mysql

coldfusion - 使用 cfthread join 获取在 cfloop 中运行的变量的值

mysql插入自动递增但不插入行

sql - 没有任何列值的 Postgres 插入。全部默认

coldfusion - Lucee/Adobe ColdFusion - 从线程设置/获取信息{}

sql - 存储用户帐户权限的最佳方式?