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

如何根据指定account_id判断quiz_num_1是否为quiz_null并输出对应内容?

解决方法

你的问题出在SQL语句写法和逻辑判断上,以下是修正后的实现:

问题分析

原代码的SQL语句存在语法错误,不能在一个execute里同时写两个SELECT语句;而且逻辑上没正确关联account_id和quiz_num_1的查询条件,应该直接查询指定account_id对应的quiz_num_1值,再做判断。

修正后的代码

# 用参数化查询避免SQL注入,同时正确查询指定account_id的quiz_num_1字段
mycursor.execute("SELECT quiz_num_1 FROM quizzes_lib WHERE account_id = %s", (user_account_id,))
result = mycursor.fetchone()  # 获取单条结果(account_id应为唯一值)

if result:
    quiz_value = result[0]
    if quiz_value == 'quiz_null':
        print("你的题库中没有测验")
    else:
        print("你的题库中有测验")
else:
    print("未找到该账号对应的记录")

关键说明

  • 采用参数化查询(%s作为占位符)替代f-string拼接SQL,既避免SQL注入风险,也保证语法正确。
  • 使用fetchone()获取单条结果,比fetchall()更高效,因为一个account_id通常对应一条记录。
  • 先判断是否查询到记录,再判断quiz_num_1的值,覆盖了账号不存在的边界情况。

内容的提问来源于stack exchange,提问作者jwad shaqir

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 10:02:03