Python: ValueError: unsupported format character ''' (0x27) at index 1
2018-08-21 19:13
761 查看
今天写python程序,用pymysql从数据库查询数据,使用like模糊匹配报错:
query_string = "SELECT DATE_FORMAT(movie.publish_time,'%Y-%m-%d'),movie.movie_name FROM movie WHERE movie.publish_time > now() and movie.media_type = 'movie' and movie.movie_type like '%%%%%s%%%%';" query_param = ["喜剧"]
执行
count = cur.execute(query_string, query_param)
报错
Python: ValueError: unsupported format character ''' (0x27) at index 1
解决方案:
1)
query_param = ['%%%s%%' % '喜剧'] query_string = "SELECT left(movie.publish_time,10),movie.movie_name FROM movie WHERE movie.publish_time > now() and movie.media_type = 'movie' and movie.movie_type like %s;" count = cur.execute(query_string, query_param)
2)
query_param = ['喜剧'] query_string = "SELECT left(movie.publish_time,10),movie.movie_name FROM movie WHERE movie.publish_time > now() and movie.media_type = 'movie' and movie.movie_type like '%%%s%%';" count = cur.execute(query_string % tuple(query_param))
解释:
1)MySQL DB使用%运算符将参数放入查询中,因此查询字符串中的任何单个%字符都被解释为参数说明符的开始。
2)%在python中三个特殊的符号,如%s,%d分别代表了字符串占位符和数字占位符。
相关文章推荐
- python ValueError: unsupported format character ''' (0x27) at index 224
- ValueError: unsupported format character ‘Y’ (0x59) at index 70
- ValueError: unsupported format character 'W' (0x57) at index 8
- ValueError: unsupported format character 'Y' (0x59) at index 70
- ValueError: unsupported format character 'B' (0x42) at index 238
- python 给urllib.quote的字符串格式化出现ValueError: unsupported format character
- Python:ValueError: Invalid control character at: 解决办法
- ValueError: unsupported format character
- java.lang.IllegalArgumentException: Illegal character in path at index 64
- python 报 KeyError: ('coupon_type', 'occurred at index act_code')故障
- Caused by: java.net.URISyntaxException: Illegal character in query at index , Target host is not sp
- Caused by: java.lang.UnsupportedOperationException: Can't convert value at index 1 to dimension
- 解决ActiveMQ启动时报异常java.net.URISyntaxException: Illegal character in hostname at index
- Illegal character in authority at index 18:
- Android 错误信息java.lang.IllegalArgumentException: Illegal character in query at index xxx:
- java.net.URISyntaxException: Illegal character in scheme name at index 0:
- 启动amq时遇到java.net.URISyntaxException: Illegal character in hostname at index处理方法
- Exception in thread "main" java.lang.IllegalArgumentException: Illegal character in query at index x
- 启动JBoss出现“java.net.URISyntaxException: Illegal character in path at index 11”解决
- [Android] java.lang.IllegalArgumentException: Illegal character in query at index 57