【发布时间】:2022-01-23 16:23:21
【问题描述】:
我正在尝试通过遍历搜索值列表来搜索数据库。我快到了,因为这适用于整数,但不适用于字符串。下面的代码不起作用,但如果我用数字替换列表值,它会起作用:
mycursor = mydb.cursor()
lst = []
select_query = "SELECT * FROM fruit WHERE content LIKE "
ids = ["apple", "pear"]
for x in ids:
var = select_query + str(x)
mycursor.execute(var)
lst.extend(mycursor.fetchall())
print(lst)
【问题讨论】:
-
更喜欢使用下面答案中的准备好的语句,而不是使用可能导致 SQL 注入攻击漏洞的连接。
-
您想用
LIKE选择什么? content 完全等于'apple'或包含关键字%apple%的所有水果也匹配'pineapple'?为什么不WHERE content IN ('apple', 'pear")?