cursor.execute variable
Verfasst: Montag 9. Mai 2022, 10:52
Hallo zusammen,
irgendwie stehe ich mal wieder auf dem Schlauch.
Ich baue eine MySQL Verbindung auf mit
funktioniert. Natürlich sind weiter oben entsprechnd die Variable definiert
Nun möchte ich im cursor.execute entsprechende Variable mit einfliesen lassen.
Will er aber nicht.
Antwort:
so funktioniert es. Aber wie bekomme ich es als Variable rein?
Danke
irgendwie stehe ich mal wieder auf dem Schlauch.
Ich baue eine MySQL Verbindung auf mit
Code: Alles auswählen
try:
#Aufbau einer Verbindung
fachdb = mysql.connector.connect(
host= FachDB_Server ,
user= FachDB_Benutzer ,
password= FachDB_Passwort ,
database= FachDB_Datenbank ,
port= FachDB_Port
)
# Ausgabe des Hashwertes des initialisierten Objektes
print(fachdb)
print("Connected to database")
# Wenn ein Fehler vom Typ "mysql.connector.errors.ProgrammingError" aufgetreten ist...
except mysql.connector.errors.ProgrammingError:
# Ausgabe einer Fehlermeldung auf der Konsole
print("Fehler beim Aufbau der DB Verbindung aufgetreten!")
cursor = fachdb.cursor()
cursor.execute("SHOW TABLES")
for tbl in cursor:
print(tbl)
Code: Alles auswählen
FachDB_Server = 'db4free.net'
FachDB_Benutzer = 'benutzer'
FachDB_Passwort = 'passwort'
FachDB_Datenbank = 'datenbank'
FachDB_Port = '3306' #Standard ist 3306
FachDB_Tabelle = 'barcodes'
FachDB_Spalte_Regalfachname = 'barcode'
FachDB_Spalte_LEDnummer = 'fach'
Code: Alles auswählen
sql ='SELECT %s FROM %s WHERE %s = %s'
cursor.execute(sql, (FachDB_Spalte_LEDnummer, FachDB_Tabelle, FachDB_Spalte_Regalfachname, regalfach,))
Antwort:
Wenn ich die direkt definiere geht es:mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''barcodes' WHERE 'barcode' = '300300300'' at line 1
Code: Alles auswählen
sql = SELECT fach FROM barcodes WHERE barcode = %s
cursor.execute(sql, (regalfach,))
Danke