TypeError:当我尝试从MySQL获取数据时,“连接”对象不可迭代

我明白了

TypeError: 'Connection' object is not iterable

当我尝试从MySQL数据库中获取数据时。

我想从我的数据库中随机抽取5个数据并进行初始化。比ı要通过电子邮件发送此数据。我的第一个问题是,我无法从数据库中获取任何价值。

这是我的代码,我需要帮助。

import MySQLdb
import numpy as np
import pandas as pd
from random import randint
import mysql.connector


db = MySQLdb.connect(host="localhost",port=3308,user="root",passwd="",db="mail_project")
cur = db.cursor()

cur.execute("""
    SELECT * FROM 
        `mail_project`.`words`
    WHERE ID = 5;
""",db)
db.commit()
fatglen 回答:TypeError:当我尝试从MySQL获取数据时,“连接”对象不可迭代

您应该尝试执行而不在最后添加数据库连接。

cur.execute("SELECT * FROM mail_project.words WHERE ID = 5")
  • 这也是一个选择查询,这意味着无需提交任何更改。
  • pymysql或MySQLdb一次仅支持1个查询,因此也需要使用分号。

您可以使用cur.fetchall()或cur.fetchone()来获取结果

尝试使用

print(cur.fetchall())
  • 如果是一行,它将以元组格式给出结果。
  • 不止一个,您可以将结果以元组格式显示为元组。

此外,在数据库中使用try和except块始终是一个好习惯,因为如果它不是本地服务器,则可能发生任何事情。

本文链接:https://www.f2er.com/2792857.html

大家都在问