Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Python:najlepsze praktyki i najbezpieczniejszy sposób łączenia się z MySQL i wykonywania zapytań

Aby uniknąć wstrzyknięć, użyj execute z %s w miejsce każdej zmiennej, a następnie przekaż wartość przez listę lub krotkę jako drugi parametr execute . Oto przykład z dokumentacji :

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

Pamiętaj, że używa się przecinka , a nie % (co byłoby bezpośrednim podstawieniem ciągu, bez ucieczki). Nie rób tego :

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

Ponadto nie wolno używać pojedynczych cudzysłowów wokół posiadacza pozycji ('%s' ) jeśli parametr jest ciągiem znaków, ponieważ sterownik je udostępnia.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Różnica między tymi dwoma podejściami do łączenia tabel?

  2. AKTUALIZUJ wiele tabel w MySQL za pomocą LEFT JOIN

  3. Oblicz wiek na podstawie daty urodzenia

  4. Jak uciec od pojedynczych cudzysłowów w MySQL

  5. Wdrażanie komentarzy i polubień w bazie danych