sql >> Databáze >  >> RDS >> Mysql

Python:osvědčený postup a nejbezpečnější způsob připojení k MySQL a provádění dotazů

Chcete-li se vyhnout injekcím, použijte příkaz execute s %s místo každé proměnné pak předejte hodnotu prostřednictvím seznamu nebo n-tice jako druhý parametr execute . Zde je příklad z dokumentace :

c=db.cursor()
max_price=5
c.execute("""SELECT spam, eggs, sausage FROM breakfast
          WHERE price < %s""", (max_price,))

Všimněte si, že se jedná o čárku , nikoli % (což by byla přímá substituce řetězce, nikoli escapovaná). Nedělejte to :

c.execute("""SELECT spam, eggs, sausage FROM breakfast
          WHERE price < %s""" % (max_price,))

Kromě toho nesmíte používat jednoduché uvozovky kolem držitele pozice ('%s' ), pokud je parametrem řetězec, jak je ovladač poskytuje.



  1. Vysvětlení funkce MySQL IF().

  2. Během instalace PostgreSQL se nezdařilo načíst moduly SQL do clusteru databáze

  3. První písmeno velké. MySQL

  4. 11 Doporučené postupy indexu SQL Server pro lepší ladění výkonu