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

标签 python mysql mysql-python

我正在尝试使用 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/

相关文章:

python - 在 C++ 中创建对象并将指针传递给 python

python - 从 PosixPath、Python 读取 DICOM 对象

mysql - 如何更改mysql服务的路径

python - pip install mysql-python 失败,EnvironmentError : mysql_config not found

Python MySQLdb 不导入

python - 在 Python for 循环中存储数组

python - python时间序列分析包

Mysql update if (some statement)

mysql - 如何获取mysql中每个用户的最新消息?

python - 导入模块 flask.ext.mysqldb 时出错