Python mySQL - escaping-Zitate
Ich habe gesehen, diese Frage auf verschiedene Arten auf dieser website, aber keiner von Ihnen genau das behandelt mein Problem.
Ich habe eine sql-Anweisung mit Anführungszeichen drin, und bin versucht, Empfehlungen für die Praxis, bevor Sie die Datenbank Abfragen. Also die Aussage ist wie
val2="abc 'dostuff'"
sql="INSERT INTO TABLE_A(COL_A,COL_B) VALUES(%s,'%s')" %(val1, val2)
a_cursor.execute(sql)
Jedoch, wenn ich diese ausführe, bekomme ich..
ProgrammingError: (1064,"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 'dostuff'.
Was mache ich falsch?
Vielen Dank
Nupur
versuchen Sie, mit mehrzeiligen Zitaten. """ oder "'
InformationsquelleAutor Nupur | 2012-10-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Parameter verwenden, anstelle von string-interpolation, um sicherzustellen, dass Ihre Werte sind korrekt gekennzeichnet durch die Datenbank-connector:
Die mysqldb sql-parameter Stil verwendet die gleiche syntax verwendet wie von der python string-Formatierung operator, der ein wenig verwirrend.
Werte werden nicht ersetzt. Ich bin mit Python ist3
Damit nicht genug info. Welchen input? Was erwartete Ausgabe? Was passiert stattdessen? Was die MySQL-Bibliothek, welche version? Python 3 ist wahrscheinlich nicht ein Faktor hier.
InformationsquelleAutor Martijn Pieters