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

python mysql заявка за извличане

Това обърква почти всички, които работят с MySQLDB. Вие предавате аргументи на функцията execute, а не замествате низове на python. %s в низа на заявката се използва повече като подготвен израз, отколкото като заместване на низ на python. Това също така предотвратява SQL инжектирането, тъй като MySQLDB ще направи бягството вместо вас. Както и преди (използвайки % и заместване на низ), вие сте уязвими към инжектиране.

  1. Не използвайте кавички. MySQLDB ще ги постави там (ако е необходимо).
  2. Използвайте , вместо %. Отново предавате кортеж като аргумент на функцията за изпълнение.

    self.dbc.execute("изберете * от кола, където reg=%s" , (reg,))



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL Trigger:копирайте стойността на auto_increment в друга колона при вмъкване

  2. Как да се свържа с MySQL на Amazon EC2 от Windows?

  3. LAST_DAY() Примери – MySQL

  4. Как да разреша това в Mysql (#1242 - Подзаявката връща повече от 1 ред)?

  5. Заявка за PHP/MySql И/ИЛИ за разширено търсене