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

发布于 2021-01-29 15:06:55

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

谢谢,克里斯

关注者
0
被浏览
90
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看