sql >> Database teknologi >  >> RDS >> Mysql

Hvordan kan jeg undslippe input til en MySQL db i Python3?

Selvom det "løste" svar virker, er det ikke bedste praksis. Når du bruger et bibliotek, der er i overensstemmelse med Python DBI, bør du bruge bindevariabler i stedet for at formatere en streng og sende den til eksekvering. Der er farer forbundet med den metode.

Derfor er dette den rigtige måde at gøre det på:

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

Bemærk, at dette ikke er en formatstreng, men en bindevariabel, der sendes til den eksekverende markør.

For detaljer:Python DBI PEP



  1. OracleDataSource vs. Oracle UCP PoolDataSource

  2. WooCommerce serialiseret metaværdiarray i wp_postmeta-tabel

  3. MySQL tilføjer 12 timer til et tidsfelt

  4. Hvordan vælger man data fra en tabel fra en anden database i SQL Server?