gpt4 book ai didi

python - python 中的光标功能不起作用

转载 作者:行者123 更新时间:2023-11-29 18:39:40 24 4
gpt4 key购买 nike

我有 python 脚本来获取从 sql 到 nginx 的域。

#!/usr/bin/python3

import MySQLdb

query = 'SELECT name_of_domain FROM domain_table'
database_connect = MySQLdb.connect(host=host, user=user, passwd=password, db=database, port=port)
cursor = database_connect.cursor()
cursor.execute(query)
while True:
row = cursor.fetchone()
print (row)

在这种情况下一切正常。在循环中,我已逐行接收所有行。我决定使用函数:我的功能:

def get_cursor():
database_connect = MySQLdb.connect(host=host, user=user, passwd=password, port=port, db=database, charset='utf8')
database_connect.autocommit(True)
return database_connect.cursor(MySQLdb.cursors.DictCursor)

我尝试过使用这个:

#!/usr/bin/python3

import MySQLdb

cursor = get_cursor()
query = 'SELECT name_of_domain FROM domain_table'
cursor.execute(query)
while True:
row = cursor.fetchone()
print (row)

但在这种情况下,我只收到一个结果,并且我的下一个功能不起作用。我哪里有错误?请帮忙。

最佳答案

我不是 100% 确定,但认为这是因为 cursor.execute() 返回一个迭代器,该迭代器已被第一个 .fetchone() 调用。

参见https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-fetchone.html

尝试更换

while True:
row = cursor.fetchone()
print (row)

for row in cursor:
print(row)

关于python - python 中的光标功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45030481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com