2016-03-30 11 views
0

Ich versuche, die folgende über Flask des MySQLdb Modul auszuführen:Python 3 MySQL Syntaxfehler mit Select Parameter

cur.execute("SELECT post_id FROM tbl_post WHERE post_file_path = '%s'", (_filePath,)) 

Doch bekomme ich folgende Fehlermeldung:

1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'static/uploads/adc67db4-7d23-4bf1-a7ef-7e34dbed246a.jpg''' at line 1" 

Die Abfrage funktioniert gut über die Befehlszeile, so bin ich mir ziemlich sicher, dass es etwas mit der Art zu tun hat, wie ich mein String-Argument zur Verfügung stelle. Was mache ich falsch damit?

Antwort

2

Sie sollten den Platzhalter %s nicht angeben, es wird vom Datenbanktreiber durchgeführt. Dies sollte funktionieren:

cur.execute("SELECT post_id FROM tbl_post WHERE post_file_path = %s", (_filePath,)) 
+0

Hatte einige Beispiele mit Anführungszeichen gesehen, aber das funktioniert perfekt, danke! – Jamie4840