You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在数据库中通过两个参数查询数据 附Python SQL实现示例

双参数数据库查询实现说明

你现有的写法存在两处可优化/修正的点:

  1. 多余的f字符串前缀:你的SQL语句中没有用到f-string的变量插值语法{},加f前缀属于冗余写法,若后续误在SQL内写插值变量还会引入SQL注入风险。
  2. WHERE条件语法不规范:多条件过滤需要用逻辑运算符AND/OR连接,不能直接用逗号分隔,部分数据库驱动会直接报错。

正确实现示例

# 修正后的参数化查询代码
info = db.execute(
    "SELECT * FROM `storage_users` WHERE status = ? AND Type = ?", 
    [status, Type]
)

# 若使用sqlite3驱动,可通过以下方法获取查询结果
# 取全部匹配结果
results = info.fetchall()
# 仅取第一条匹配结果
result = info.fetchone()

注意事项

  • 参数列表的顺序必须和SQL中占位符?的出现顺序严格对应,你当前的参数顺序[status, Type]和占位符顺序匹配,不需要调整。
  • 表名使用反引号`包裹是SQL通用的标识符引用规范,兼容性优于单引号。
  • 参数化查询是官方推荐的安全写法,可完全避免SQL注入漏洞,不要改用字符串拼接的方式传入参数。

内容的提问来源于stack exchange,提问作者Yurii Krestovskiy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 17:36:04