Ich habe Python-Skript, um Domänen von SQL zu Nginx zu bekommen.Funktioniert nicht Cursor-Funktion in Python
#!/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)
In diesem Fall ist alles in Ordnung. In einer Schleife habe ich Zeile für Zeile alle Zeilen erhalten. entschied ich mich Funktion zu verwenden: Meine Funktion:
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)
Und ich habe versucht, diese zu nutzen:
#!/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)
Aber in diesem Fall, ich habe nur ein Ergebnis, und meine nächsten Funktionen don erhalten arbeite nicht. Wo ich Fehler habe? Bitte helfen Sie.
haben Sie versucht: row = cursor.fetchmany (size = 1)? – brotherperes
'TypeError: nicht unterstützte Operandentyp (en) für +: 'dict' und 'str'' – Piduna
Was passiert, wenn Sie' MySQLdb.cursors.DictCursor' in den einen setzen, der funktioniert? Hat das das gleiche Verhalten? – Stael