【发布时间】:2021-09-06 23:32:44
【问题描述】:
在下面的代码中,我想将动态值传递给类似 SQL 但正在接收。
代码
#Database
mydb = mysql.connector.connect(
host="localhost",
user="root",
password="",
database="deikho_app"
)
cursor = mydb.cursor(buffered=True)
`videoCatId`=1024
if videoCatId:
query = """select * from cb_video where active = 'yes' and status = 'Successful' and category LIKE '%' + %s + '%'"""
cursor.execute(query, (videoCatId,))
代码说明
- 首先创建与数据库的连接。
- 然后为
videoCatId分配一个值,用于运行if条件。 - 在编写此查询并将其存储在
query变量中之后。 - 然后执行查询。
- 最后,从数据库中获取结果并存储在
seriesResult变量中。
错误
ERROR:dramas-api:Exception on /papis/get-video [GET]
Traceback (most recent call last):
File "C:\Users\Ideation\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 2070, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\Ideation\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 1515, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\Ideation\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 1513, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\Ideation\AppData\Roaming\Python\Python39\site-packages\flask\app.py", line 1499, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "E:\dramas-api.py", line 61, in getVideo
seriesResult = cursor.fetchall()
File "C:\Users\Ideation\AppData\Roaming\Python\Python39\site-packages\mysql\connector\cursor.py", line 985, in fetchall
raise errors.InterfaceError("No result set to fetch from.")
mysql.connector.errors.InterfaceError: No result set to fetch from.
【问题讨论】:
-
什么是
query变量值? -
@Akina 这是写在它旁边的 SQL 语句。
-
试试
... LIKE CONCAT('%', %s, '%') ... -
感谢@Akina 成功了。
标签: python mysql sql python-3.x sql-like