Vbscript 使用SQL Server数据库比较从asp(vb)中的文本框中获取的值

Vbscript 使用SQL Server数据库比较从asp(vb)中的文本框中获取的值,vbscript,asp-classic,Vbscript,Asp Classic,我正在使用asp(vb) 在SQL Server数据库中,我创建了一个表cars,它有两列: productid int name varchar(50) 现在,我通过一个文本字段从用户处收集name属性的值: 输入汽车名称 <input type="text" name="name" value="" /> 但当我运行此查询时,它会给出错误: query = "SELECT * FROM cars where name = " & name 无法找出原因?我想你应该

我正在使用asp(vb)

在SQL Server数据库中,我创建了一个表
cars
,它有两列:

  • productid int
  • name varchar(50)
现在,我通过一个文本字段从用户处收集name属性的值:

输入汽车名称

<input type="text" name="name" value="" />
但当我运行此查询时,它会给出错误:

query = "SELECT * FROM cars where name = " & name

无法找出原因?

我想你应该先使用MSSql Server运行一个查询
INSERT
数据?尝试:

query = "SELECT * FROM cars where [name] = " & name

请注意名称列周围的[]。

因为
name
被定义为
VARCHAR
string数据类型,这意味着您需要在SQL查询中引用
name
的值,即

query = "SELECT *  FROM cars WHERE name = '" & name & "'"

或者更好的方法是,如果使用ADODB,请使用via
ADODB.Command
对象,尝试使用MSSQL查询分析器运行查询
select*from cars where name=where
。您将得到一个语法错误。修复它并在代码中执行同样的操作。它会给您带来什么错误???@marc_s:处理URL时服务器上发生错误。请与系统管理员联系。这听起来不像数据库中的任何内容-一定是应用程序中的其他错误/缺陷…您好,sql注入漏洞您是否正在试图找出用户输入的汽车名称是否存在于您的表中?
query = "SELECT *  FROM cars WHERE name = '" & name & "'"