这个问题在这里已经有答案了:
将vbscript字符串列表传递给sql“in”运算符(5个答案)
去年关门了。
我想从表'products'中选择所有城市所在的地方(varberg,falkenberg),如果我使用下面的,它就可以工作,但是如果我有一个变量中的城市,我可以´不能让它工作?我用的是mysql数据库。
sql = "SELECT * FROM products where city in ('Varberg','Falkenberg')"
set rs = conn.Execute (sql)
所以如果我用这个,它就不起作用了。
cities=request.querystring(cities)
所以变量变成这样
cities="Varberg,Falkenberg"
sql = "SELECT * FROM products WHERE city IN ('"& cities &"')"
set rs = conn.Execute (sql)
2条答案
按热度按时间pes8fvy91#
生成的查询缺少两个引号。生成查询是
而不是
顺便说一句:未经验证和适当消毒,切勿使用用户提供的参数。
waxmsbnn2#
使用变量创建的sql语句将
和你要找的不同:
您需要调整代码逻辑,为变量生成正确的列表。由于缺少单引号,您的变量包含一个单值列表。您需要添加引号,以便变量包含多值列表。
ps—您的代码对sql注入也非常开放。您应该使用参数化查询。