我正在尝试使用 MySQL 通过 Python 执行查询以搜索数据库中的 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)
关于Python:ValueError:索引1处不支持的格式字符 '''(0x27),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11695801/