【发布时间】:2020-06-17 23:46:23
【问题描述】:
我正在创建一个在后端使用经典 ASP 的网站。前端的表单提交到后端的经典 ASP 页面就好了。我也能够很好地连接到数据库。 (这两个我都测试过了。)
当我尝试将表单输入添加到数据库表中时,就会出现问题。 (表单方法是POST)。
这就是我想要做的——
conn.Execute "insert into table1(firstn, lastn, dato, scene) values (fn, ln, sd, sce)"
table1 以 firstn、lastn、dato 和 scene 作为其列存在。 conn 和 fn、sd、ln、sd 和 sce 变量已正确声明和初始化。
但是,我仍然收到“列名 fn 无效”错误。这是为什么呢?
我该如何解决这个错误?
【问题讨论】:
-
每个字符串值必须用单引号括起来——或者更好的是,使用准备好的语句。投票结束这是一个错字。
-
fn指的是您在此处表达方式的列。你的意思是变量fn? -
使用准备好的语句和占位符值执行此操作,然后在执行时绑定数据。
-
您将无法像这样添加表单值,而是使用
ADODB.Commandobject to execute a parameterised query。 -
@June7 "如果 SQL 注入是一个问题,使用参数"??没有“如果”,就是不去做。没有任何情况表明存在替代方案是可行的。
标签: mysql sql database forms asp-classic