我如何向查询发送参数这是我的代码
import pandas as pd
import sqlite3
def query_brand(filter):
sql_query = pd.read_sql(f'SELECT * FROM ps_lss_brands WHERE label = {filter}',
self.conn_brand)
df = pd.DataFrame(sql_query, columns = ['id_brand', 'label'])
# print(df["id_brand"][0])
print(df)
query_brand("ACURA")
这是我得到的错误:
pandas.errors.DatabaseError:对SQL "SELECT * FROM ps_lss_brands WHERE标签= ACURA"执行失败:无此列:阿库拉
我的列是标签列,但在查询中它尝试查找ACURA列
1条答案
按热度按时间8dtrkrch1#
第四行中存在问题。请更改SQL查询以在{filter}两边包含引号
具体来说,第四行应该是这样的:
但是,您应该尝试完全避免这种情况,而是使用参数化查询。这将防止SQL注入。