sql >> Database >  >> RDS >> Mysql

Hoe kan ik ontsnappen aan de invoer naar een MySQL-database in Python3?

Hoewel het "opgeloste" antwoord werkt, is het geen best practice. Wanneer u een bibliotheek gebruikt die voldoet aan de Python DBI, moet u bindvariabelen gebruiken in plaats van een tekenreeks op te maken en deze door te geven om uit te voeren. Er zijn gevaren die inherent zijn aan die methodologie.

Daarom is dit de juiste manier om het te doen:

cursor.execute("SELECT * FROM `Codes` WHERE `ShortCode` = %s", text)

Merk op dat dit geen opmaakreeks is, maar een bindvariabele die wordt doorgegeven aan de uitvoerende cursor.

Voor details:Python DBI PEP



  1. Ruby on Rails 3 Kan geen verbinding maken met lokale MySQL-server via socket '/tmp/mysql.sock' op OSX

  2. Hoe het numerieke deel van een string te krijgen met behulp van T-SQL?

  3. MySQL - Converteer MM/DD/YY naar Unix-tijdstempel

  4. MySQLi kan geen verklaring voorbereiden