我正在尝试执行查询以通过Python使用MySQL搜索数据库中的3个表。每次我尝试执行以下字符串作为查询时,都会给我关于字符串串联的错误。
"SELECT fileid FROM files WHERE description LIKE '%" + search + "%' OR filename LIKE '%" + search + "%' OR uploader LIKE '%" + search + "%' ORDER BY fileid DESC"
这是它给我的错误:
ValueError: unsupported format character ''' (0x27) at index 1
如果删除要求的字符,则还必须删除%,这将阻止查询实际正常运行。由于我是Python的新手,我该怎么做才能解决此问题。
谢谢,克里斯
看起来python会将%解释为类似printf的格式字符。尝试使用%%?
"SELECT fileid FROM files WHERE description LIKE '%%%s%%' OR filename LIKE '%%%s%%' OR uploader LIKE '%%%s%%' ORDER BY fileid DESC" % (search, search, search)