Mysql
 sql >> база данни >  >> RDS >> Mysql

Python:най-добрата практика и най-сигурният начин за свързване с MySQL и изпълнение на заявки

За да избегнете инжекции, използвайте execute с %s на мястото на всяка променлива, след което предайте стойността чрез списък или кортеж като втори параметър на execute . Ето един пример от документацията :

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

Имайте предвид, че тук се използва запетая , а не % (което би било директна замяна на низ, а не escape). Не правете това :

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

Освен това не трябва да използвате единични кавички около притежателя на позицията ('%s' ), ако параметърът е низ, както ги предоставя драйверът.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създайте система за бюлетин с PHP и MySQL

  2. Вмъкване на заявка за вмъкване на редове в MySQL

  3. Използване на клауза union и order by в mysql

  4. Как да стартирате, рестартирате, проверявате състоянието и спирате MySQL сървъра

  5. Позволете на потребителите на MySQL да създават бази данни, но позволяват достъп само до собствените си бази данни