我试图执行查询以通过Python使用MySQL搜索数据库中的3个表。每次我尝试执行以下字符串作为查询时,它都会给我一个关于字符串串联的错误。Python:ValueError:索引1处不支持的格式字符'''(0x27)
"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很陌生。
感谢, 克里斯
为您的SQL工具使用内置的字符串替换工具,而不是尝试使用标准Python字符串机制自己构建查询字符串。它的工作方式更好。你在使用MySQLdb吗? – 2012-07-27 21:23:19
是的,我正在使用MySQLdb,我在哪里可以找到这些替代工具? – user1558746 2012-07-27 21:45:32
http://mysql-python.sourceforge.net/MySQLdb.html#functions-and-attributes上的文档说:“请注意,传递给execute()的查询字符串中的任何文字百分号都必须转义,即%% “。你使用'execute()'?提到的替代工具@Silas显示在http://mysql-python.sourceforge.net/MySQLdb.html#some-examples – LarsH 2014-06-30 13:41:03