Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql INSERT语句和Coldfusion有问题_Mysql_Sql_Coldfusion_Insert - Fatal编程技术网

Mysql INSERT语句和Coldfusion有问题

Mysql INSERT语句和Coldfusion有问题,mysql,sql,coldfusion,insert,Mysql,Sql,Coldfusion,Insert,我问了一个类似的问题,但细节太长,无法发表评论。我在CF中有一个insert语句,它将值输入到MYSQL数据库中的一个空表中。当我手动将这些值输入CF INSERT语句时,效果非常好。但是当我尝试让CF插入表单中的数据时,什么都没有发生。没有错误消息,网页显示正常。我的CF语句如下所示: <cfquery name="updateInsOpTable" datasource="applewood"> INSERT INTO ins_opt_table (address,option1

我问了一个类似的问题,但细节太长,无法发表评论。我在CF中有一个insert语句,它将值输入到MYSQL数据库中的一个空表中。当我手动将这些值输入CF INSERT语句时,效果非常好。但是当我尝试让CF插入表单中的数据时,什么都没有发生。没有错误消息,网页显示正常。我的CF语句如下所示:

<cfquery name="updateInsOpTable" datasource="applewood">
INSERT INTO ins_opt_table (address,option1,option2,option3,-etc.)
VALUES ('#form.address#','#form.option1#','#form.option2#','#form.option3#'-etc.)
</cfquery>

插入ins_opt_表(地址、选项1、选项2、选项3等)
值(“#form.address”、“#form.option1”、“#form.option2”、“#form.option3”—等)
这是我的表格:

<p>
<cfoutput query="getCategory">
<cfif #idOpCategories# IS 1>
#UCase(getCategory.categoryName)#

</cfif>
</cfoutput>

</p>

<p>

<cfoutput query="getOptions">
<cfif idOpCategories eq 1>
<input type="checkbox" value="#getOptions.idOptions#" name="option1" />
#getOptions.option# <br />
</cfif>
</cfoutput>

#UCase(getCategory.categoryName)#

#getOptions.option#

任何帮助都将不胜感激。

CFIF声明是问题所在。我把它格式化错了,这说明我的技能已经生锈了。我使用的是:

IsDefined(#form.submitOptions#)
而真正起作用的代码是:

IsDefined("form.submitOptions")

在运行INSERT之前是否尝试转储表单作用域以验证数据是否正确?您是否在CFQUERY周围放置了TRY/CATCH以捕获任何错误?您尝试过如何调试此问题?是的,转储结果也很好。我甚至在INSERT语句后面加上“Done”一词,结果打印得很好。我还将数据手动放入insert语句中,并按其应有的方式工作。我对CF不是很精通,所以我对TRY/CATCH不是很熟悉。我将回顾参考资料并尝试一下。在查询之前,我确实有一个CFIF语句:“转储结果很好”这是什么意思?这是否意味着它会转储您期望的值?将此参数添加到cfquery:result=“resultdump”和为resultdump执行cfdump。查询看起来像是应该的吗?部分问题可能是,如果未选中复选框,则表单范围中将不存在未选中复选框。您需要
等。实际上,您还应该在查询中使用
cfqueryparam
,而不是您正在执行的操作。转储显示了表单的所有变量。我已经删除了if语句,这很有效。但是我希望if语句在那里。仅供参考,
IsDefined
需要变量名。通过在变量周围使用#符号,您实际上将该字段的值作为“名称”传入。这就是它不起作用的原因。也就是说,
StructKeyExists
通常优于
IsDefined
,因为它更精确。我通常使用最基本的CF命令。当我为客户工作时,我通常坚持我所知道的,所以我不会花太长时间学习我不熟悉的命令。我知道我应该花点时间进一步了解自己的知识,我会调查这里每个人给我的信息。我感谢你的教育和编辑。