Python 使用类似%%的mysql查询的Flask

Python 使用类似%%的mysql查询的Flask,python,mysql,flask,Python,Mysql,Flask,使用Python3尝试在flask中创建mysql查询 SELECT title FROM Book WHERE title LIKE '%booktitlehere%'; 从我的搜索表单的输入来看,这是一个简单的实现 search_string = search.data['search'] cur = mysql.connection.cursor() likeString = "'%" + search_string + "%'" cur.execute('''SELECT title

使用Python3尝试在flask中创建mysql查询

SELECT title FROM Book WHERE title LIKE '%booktitlehere%';
从我的搜索表单的输入来看,这是一个简单的实现

search_string = search.data['search']
cur = mysql.connection.cursor()
likeString = "'%" + search_string + "%'"
cur.execute('''SELECT title FROM Book WHERE title LIKE %s;''',likeString)
如果转到保存此表单的页面时出现此错误,则无法正常工作

_mysql_exceptions.ProgrammingError:在字符串格式化过程中,并非所有参数都已转换

我已尝试添加%%以逃避文字%

likeString = "'%%" + search_string + "%%'"
# print(like)
cur.execute("""SELECT title FROM Book WHERE title LIKE %s;""",likeString)
rv = cur.fetchall()
但还是有错误

_mysql_exceptions.ProgrammingError: not all arguments converted during string formatting
还尝试了在select周围使用双引号

cur.execute("SELECT title FROM Book WHERE title LIKE %s;",likeString)
:


在sql命令中使用搜索字符串之前

cur.execute("SELECT * FROM books WHERE title LIKE :searching_string ORDER BY id ",{"searching_string":search_string})
search\u string=f“%{search\u string}%”

然后在sql命令中应用它

cur.execute("SELECT * FROM books WHERE title LIKE :searching_string ORDER BY id ",{"searching_string":search_string})
此外,还可以降低成本
search\u string=f“%{search\u string}%”。lower()

例如:

cari=“%”请求。表单['cari']+“%”
conn.execute(“从barang选择nama,harga,其中nama类似%s或harga类似%s”,(cari,cari))

这对我来说很有用,我使用%%,并且在like之后应该有“”


cur.execute('select*from chiase where name like“%%%s%%”,[firstName])

您没有问任何问题。你只是想确认一下吗?或者有什么东西不符合您的预期吗?哦,很抱歉,在
cur.execute(“'SELECT title FROM Book WHERE title LIKE%s;”,likeString)中添加了删除额外引号的错误。
删除像
“%”+搜索字符串+“%”这样的额外引号。
重复的。问题在于,您没有将参数包装在列表中,因此Python试图将字符串解包为字符列表,当您在查询中只声明了一个参数时,将每个参数视为单独的参数。将错误粘贴到Google中会立即找到重复的目标。在找到重复的帖子方面做得很好,但只是一个建议:如果你提出了正确的dup,可能不会发布答案。确定了,但仍然会出现错误raise errorclass(errorvalue)\u mysql\u异常。编程错误:在字符串格式化过程中未转换所有参数```
cur.execute("SELECT * FROM books WHERE LOWER(title) LIKE :searching_string ORDER BY id ", {"searching_string":search_string})