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

python mysql hente-forespørgsel

Dette forvirrer næsten alle, der arbejder med MySQLDB. Du sender argumenter til execute-funktionen og laver ikke python-strengsubstitution. %s i forespørgselsstrengen bruges mere som en forberedt sætning end en pythonstrengsubstitution. Dette forhindrer også SQL-injektion, da MySQLDB vil gøre det for dig. Som du havde det før (ved at bruge % og strengsubstitution), er du sårbar over for injektion.

  1. Brug ikke anførselstegn. MySQLDB vil placere dem der (hvis nødvendigt).
  2. Brug en i stedet for en %. Igen sender du en tuple som et argument til execute-funktionen.

    self.dbc.execute("vælg * fra bil hvor reg=%s" , (reg,))



  1. JDBC ResultSet getDate mister præcision

  2. OracleException (0x80004005) Når du opretter forbindelse til Oracle-databasen

  3. SQL-forespørgsel for at få data for de sidste 3 måneder

  4. FEJL:Kunne ikke bygge gem native udvidelse - Fejl ved installation af mysql2