Ich versuche gerade eine mysql-abfrage zu starten und zwar sieht das ganze so aus:
Code: Alles auswählen
# benutzer id holen
def getBenutzerId ():
config = ConfigParser.RawConfigParser()
conf = os.environ['HOME'] + "/.mydb/mydb.cfg"
config.read (conf)
data = {
"benutzer" : config.get('mydb', 'benutzer'),
"passwort" : config.get('mydb', 'passwort')
}
conn = opendb ()
cursor = conn.cursor()
cursor.execute("""SELECT * FROM benutzer where benutzer = ':benutzer'""", data)
benutzer_id = cursor.fetchall ()
cursor.close ()
return (benutzer_id)
Ich bekomme keine Fehlermeldung, also connecten funktioniert. Ich bekomme nur keinen Datensatz zurück, obwohl ich einen zurück bekommen müßte. Das komische daran ist, das der gleiche Syntax mit sqlite geht. Hat jemand ne Ahnung, wie das unter mysql gemacht wird? Ich habe so das Gefühl, das er in dem sql Syntax nicht die Variable benutzer nimmt, sondern eben das ganze Wort, denn dann ist auch klar, das ich keinen Datensatz zurück bekomme. Ich würde eben gerne nen Dictionary für meine Abfragen benutzen ( hatte mich jetzt von sqlite so dran gewöhnt ).
Kann mir da jemand schnell auf die Spünge helfen?