我有一个从复选框获取用户输入并从 MySQL 表中返回相应行的网站。
例如,用户可以选择几种颜色,网站将显示表格中具有该颜色的对象。
问题是当用户只选择一种颜色时,MySQL 查询没有正确创建,我得到一个错误。注意colors
下面的数组:
所以这有效:
import MySQLdb
db = MySQLdb.connect(host="...", user="...", port=..., db="...", passwd="...")
colors = ["red", "blue"]
cursor.execute("SELECT * FROM `objects` WHERE `color` IN %s",(colors,))
这不会:
import MySQLdb
db = MySQLdb.connect(host="...", user="...", port=..., db="...",passwd="...")
colors = ["red"]
cursor.execute("SELECT * FROM `objects` WHERE `color` IN %s", (colors,))
有没有办法纠正这个问题?现在,我暂时添加了一种虚假的“颜色”(在数据库中没有与之链接的对象),但这显然不是一个理想的解决方案。