gpt4 book ai didi

mysql - ValueError ("unsupported format character ' A' (0x41) 在索引 185",)

转载 作者:行者123 更新时间:2023-11-30 22:18:47 24 4
gpt4 key购买 nike

我正在尝试执行一个查询,该查询列出了我的数据库中与我的 html 搜索表单的输入相匹配的某些值。即使某些表单输入为空输入,我也希望它进行搜索。我使用的是 Python 3.4,我的查询是这样的:

query=("select DISTINCT val1,val2,val3,val4 from tab1,tab2 WHERE tab1.val1=tab2.val1 AND onoma LIKE '%' AND epitheto LIKE '%' AND (val4 between % AND %)" )
data =(d1, d2, d3 ,d4)
c.execute("SET NAMES utf8")
c.execute(query,data)

我得到的错误是这样的:

ValueError("unsupported format character 'A' (0x41) at index 185",)

拜托,如果您知道我该如何解决这个问题,我将不胜感激。我是数据库的初学者。提前致谢

最佳答案

参数的占位符拼写为%s,而不是%:

query = """
select DISTINCT val1,val2,val3,val4 from tab1,tab2
WHERE tab1.val1=tab2.val1 AND onoma LIKE %s AND
epitheto LIKE %s AND
(val4 between %s AND %s)
"""

data = ('%{}%'.format(d1), '%{}%'.format(d2), d3 ,d4)
c.execute(query, data)

请注意,您不应在占位符周围添加引号(将其留给数据库驱动程序),对于LIKE 查询,您需要将通配符添加到参数中值(value)。我在这里使用 str.format() 在每个值前后放置 % 通配符。没有通配符的 LIKE 查询(所以 %_)也可以只使用 = 相等性测试。

关于mysql - ValueError ("unsupported format character ' A' (0x41) 在索引 185",),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37352079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com