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

如何为Python Telegram Bot的MySQL数据库查询设置两个WHERE条件参数

多WHERE条件MySQL查询语句修正方案

原代码问题说明

你当前的写法存在3处错误:

  • 多查询条件之间缺少逻辑运算符,多个WHERE条件需要用AND(同时满足)或者OR(满足任意一个)连接
  • MySQL中表名属于标识符,不能用单引号'包裹,需要用反引号`包裹,或者直接省略包裹符
  • 既然使用?占位符做参数化查询,就不需要加f字符串前缀,避免出现SQL注入风险

正确写法示例

如果需要同时满足status和balance两个条件,用AND连接即可:

info = db.execute("SELECT * FROM `storage_users` WHERE status = ? AND balance = ?", [status, balance])

如果需要满足两个条件中的任意一个,把AND换成OR即可:

info = db.execute("SELECT * FROM `storage_users` WHERE status = ? OR balance = ?", [status, balance])

内容的提问来源于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 15:24:03