Database 通过coldfusion写入数据库
我正在写一个submit.cfm文档。我正在尝试将用户信息写入一个空白的新数据库。 这是我的密码:Database 通过coldfusion写入数据库,database,coldfusion,Database,Coldfusion,我正在写一个submit.cfm文档。我正在尝试将用户信息写入一个空白的新数据库。 这是我的密码: <cfif ParameterExists(form.submit)> <cfquery name="AddProfile" datasource="careers_acad_internship"> INSERT INTO internships VALUES ( '#form.stu_first#', '#form.stu_l
<cfif ParameterExists(form.submit)>
<cfquery name="AddProfile" datasource="careers_acad_internship">
INSERT INTO internships
VALUES (
'#form.stu_first#', '#form.stu_last#',
#form.stu_id#, '#form.sup_name#',
'#form.sup_email#', #form.sup_phone#,
'#form.emp_name#', '#form.emp_add#',
'#form.spec_obj#', '#form.spec_duties#',
'#form.semester#', #form.intern_year#,
'#form.work_sche#', '#form.digital_sig#')
</cfquery>
加入实习
价值观(
“#form.stu first#”,“form.stu last”,
#form.stu#id#,'#form.sup#name#',
“#form.sup#email#”、#form.sup#phone#,
“#form.emp#u name”、“#form.emp#u add”,
“#form.spec#obj”,“form.spec#u职责”,
"形式.学期","形式.实习",,
“#表格.工作日程,”#表格.数字##”
但结果是有一个错误。我不知道是语法错误还是其他原因
下面是错误消息
第0列ID CFQUERY
第24行
原始跟踪位于cfsubmit2ecfm1505563048.runPage(D:\web\careers\academicalpeopmentation\submit.cfm:24)
模板D:\web\careers\AcademicalInterporation\submit.cfm
类型CFML
谢谢,您需要包括要在其中插入值的列名列表 例如:
<cfqueryparam value="#form.stu_first#" cfsqltype="cf_sql_varchar">
插入实习(学生第一、学生最后、学生id、学生姓名、学生电子邮件、学生电话、员工姓名、员工姓名、员工添加、第二目标、规范职责、学期、实习年、工作计划、数字信号)
“形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.形式.stu U U U第一次的第一次355“ţ,,,,“形式.形式.形式.形式.形式.形式.形式.形式.形式.stu.形式.形式.形式.形式.形式.stu id id.身份.身份.身份.id 355号号号........................................................................................#表格.规格.职责#',#表格.学期#',#表格.实习年#',#表格.工作日程#',#表格.数字##')
当然,假设您的列名与表单变量名相同。会跳出两件事:
(以及应用程序中的每个其他查询)。这是为了防止SQL注入,并稍微提高性能首先,仔细检查您的数据类型,我注意到您引用了一些变量,但没有引用其他变量,请确保下面的内容是正确的 <cfquery datasource="foobar"> INSERT INTO internships (stu_first,stu_last,stu_id,sup_name,sup_email,sup_phone,emp_name,emp_add,spec_obj,spec_duties,semester,intern_year,work_sche,digital_sig) VALUES( <cfqueryparam value="#form.stu_first#" cfsqltype="cf_sql_varchar" />, <cfqueryparam value="#form.stu_last#" cfsqltype="cf_sql_varchar" />, <cfqueryparam value="#form.stu_id#" cfsqltype="cf_sql_integer" />, <cfqueryparam value="#form.sup_name#" cfsqltype="cf_sql_varchar" />, <cfqueryparam value="#form.sup_email#" cfsqltype="cf_sql_varchar" />, <cfqueryparam value="#form.sup_phone#" cfsqltype="cf_sql_integer" />, <cfqueryparam value="#form.emp_name#" cfsqltype="cf_sql_varchar" />, <cfqueryparam value="#form.emp_add#" cfsqltype="cf_sql_varchar" />, <cfqueryparam value="#form.spec_obj#" cfsqltype="cf_sql_varchar" />, <cfqueryparam value="#form.spec_duties#" cfsqltype="cf_sql_varchar" />, <cfqueryparam value="#form.semester#" cfsqltype="cf_sql_varchar" />, <cfqueryparam value="#form.intern_year#" cfsqltype="cf_sql_integer" />, <cfqueryparam value="#form.work_sche#" cfsqltype="cf_sql_varchar" />, <cfqueryparam value="#form.digital_sig#" cfsqltype="cf_sql_varchar" /> ) </cfquery> 加入实习 (学生第一名,学生最后一名,学生id,学生姓名,学生电子邮件,学生电话,学生姓名,学生地址,学生地址,学生任务,学生职责,学期,实习年,工作计划,数字信号) 价值观( , , , , , , , , , , , , , )
如果你能发布你收到的错误,那会有帮助 还有一个巨大的建议——在插入的值上使用cfqueryparam来防止SQL注入,例如:
<cfqueryparam value="#form.stu_first#" cfsqltype="cf_sql_varchar">
仔细检查你的
#
符号和记号,更不用说这些变量的存在了。有时,我会在插入之前放置一个
,启用调试输出后,您可以向下滚动查看所有表单变量。然后我将复制/粘贴这些内容,以确保拼写正确。您收到了什么错误?如果不知道错误是什么,很难排除错误。根据包含的代码,您没有结束标记parameterExists
自ColdFusion MX起已被弃用,因此如果您使用的是可能会给您带来麻烦的更高版本。请编辑您的问题,以包含您收到的实际错误消息。我们将能够提供更多的帮助。列0 ID CFQUERY LINE 24 RAW_TRACE在cfsubmit2ecfm1505563048.runPage(D:\web\careers\academicalinterpaint\submit.cfm:24)模板D:\web\careers\academicalinterpaint\submit.cfm类型cfml对于许多数据库引擎,这是不必要的。只要VALUES
列表中指定的字段的数量、类型和顺序与表定义中指定的相同,原始问题的语法就有效。我认为最好的做法是包括您建议的字段列表,但这不可能是导致错误的原因(这不是本文所指定的,否则我只是从那里诊断)。第0栏ID CFQueLead 24在CFasMIT2ECFM1555 63048中运行。模板D:\web\careers\AcademicalInterporation\submit.cfm类型CFML