小编典典

Python:ValueError:索引1处不支持的格式字符'''(0x27)

python

我正在尝试执行查询以通过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的新手,我该怎么做才能解决此问题。

谢谢,克里斯


阅读 903

收藏
2021-01-20

共1个答案

小编典典

看起来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)
2021-01-20