Ich versuche, auf einer lokalen MySQL-Datenbank unter Verwendung von Python abzufragen (3.4) MySQL-Modul mit dem folgenden Code:Warum würde MySQL die Rückgabe None ausführen?
class databases():
def externaldatabase(self):
try:
c = mysql.connector.connect(host="127.0.0.1", user="user",
password="password", database="database")
if c.is_connected():
c.autocommit = True
return(c)
except:
return(None)
d = databases().externaldatabase()
c = d.cursor()
r = c.execute('''select * from tbl_wiki''')
print(r)
> Returns: None
Soweit ich sagen kann, ist die Verbindung erfolgreich ist, wird die Datenbank aus mehreren Reihen zusammengesetzt aber die Abfrage gibt immer den Nicht-Typ zurück.
Welche Instanzen führt die MySQL-Funktion None zurück?
'c.execute()' gibt nichts zurück, wenn Sie nicht die Option 'multi = True' verwenden. Dann gibt es einen Iterator zurück, mit dem Sie die Ergebnisse jeder Abfrage in den mehreren Abfragen durchlaufen können. – Barmar
Normalerweise rufen Sie Methoden auf dem Cursor auf, um die Ergebnisse aus der Abfrage zu erhalten, z. 'c.fetchone()', um eine Zeile zu erhalten, 'c.fetchall()', um alle Ergebnisse zu erhalten. – Barmar
Siehe die Dokumentation unter http://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor.html – Barmar