首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:“NoneType”对象在mysql中使用python和tkinter时,在my_curser.fetchone()[1]中不可订阅

问TypeError:“NoneType”对象在mysql中使用python和tkinter时,在my_curser.fetchone()[1]中不可订阅
EN

Stack Overflow用户
提问于 2022-03-02 12:27:27
回答 1查看 240关注 0票数 -1

代码在没有函数的情况下正常运行,但是当我把它放在像这样的函数下面时,它就不能工作,并抛出错误,我在googled上搜索了解决方案,但是它没有工作,所以对于像我这样的初学者来说,您的帮助将是惊人的。

代码语言:javascript
复制
def updatedetails():
   
    getpid = str(search_box.get())

    my_cursor.execute("SELECT * from patient_tbll where PID = '"+getpid+"'")
    output=my_cursor.fetchone()[1]
    print(output)

my_cursor.fetchone()[1]上的错误:

TypeError:'NoneType‘对象不能订阅

EN

回答 1

Stack Overflow用户

发布于 2022-03-02 12:30:55

您不应该进行这样的查询,因为它允许在没有适当消毒的情况下进行注射。

我建议您查看您正在使用的MySQL库的文档,因为有些文档可能有所不同。

例如MySQL.connector

代码语言:javascript
复制
select_stmt = "SELECT * FROM employees WHERE emp_no = %(emp_no)s"
cursor.execute(select_stmt, { 'emp_no': 2 })

或

代码语言:javascript
复制
sql = "SELECT * FROM customers WHERE address = %s"
adr = ("Yellow Garden 2", )

cursor.execute(sql, adr)

fetchone()将返回一个tuple,尝试:

代码语言:javascript
复制
output=my_cursor.fetchone()
print(output[1])

打印(输出)以查看实际返回的游标。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71322700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档