sql_interp

Variables de Python interpolan en declaraciones SQL.
Descargar ahora

sql_interp Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • MIT/X Consortium Lic...
  • Precio:
  • FREE
  • Nombre del editor:
  • Michael Hampton
  • Sitio web del editor:
  • http://bitbucket.org/mirhampt/

sql_interp Etiquetas


sql_interp Descripción

Variables de Python interpolan en declaraciones SQL. SQL_INTERP permite interpolar de manera segura y fácilmente a las variables de Python en SQL basadas en el contexto. La mayor parte de su interacción con este paquete será a través de la clase SQLInterp: >>> desde SQL_Intp Import SQLInterp >>> Person = {'Last_Name': 'Doe'} >>> Criteria = {'First_Name': } # Crear una instancia de SQLInterp y use el método INTERP para obtener las variables SQL y BIND # LISTO para pasar a su cursor de la base de datos. >>> SQLI = SQLIRNIRP () >>> SQLI.INTERP ("Actualizar personas Conjunto ", persona", donde ", criterios) ('Actualizar personas establecidas last_name =? Donde First_Name en (?,)', ('Doe', 'Jane', 'John')) Cautionsql_interp funciona asumiendo que cualquier no - Las variables de extingo pasadas a Interp deben ser tratadas como variables de enlace. Esto significa que cualquier argumento aprobado que son las cadenas se tratará como SQL RAW. Si no tiene cuidado, esto podría llevar a un ataque de inyección de SQL. Para evitar esto, si hay alguna posibilidad de que una variable sea una cadena, debe decirle a SQL_INTERP que no es SQL sin procesar. Puede hacerlo con el método ESC del objeto SQLInterp. Aquí hay un ejemplo: >>> SQLI = SQLIRNIRP () >>> FIRST_NAME = 'John' # ¡El siguiente está equivocado! Esto podría conducir a un ataque de inyección de SQL. >>> SQLi.Interp ("Seleccionar * de la tabla donde first_name =", first_name) ('seleccione * de la tabla donde First_Name = John', ()) # Esta es la forma correcta. >>> sqli.interp ("Seleccionar * de la tabla donde first_name =", sqli.esc (first_name)) ('select * de la tabla donde first_name =?', ('John',)) Esto no se aplica si la cadena Es un valor en una lista o diccionario, como en los otros ejemplos en este documentation.examptpesthe SQLinterp Objeto puede manejar interpolando muchos tipos diferentes: >>> Edad = 25 >>> First_names = >>> sqli.interp ("Actualizar personas establecidas Age =", Edad ", donde First_Names in", First_Names) ('Actualizar personas establecidas AGE =? Donde First_Names en (?, ",') ', (25' La interpolación de Jenny ',' John ',' Jeremy ')) es sensible al contexto, por lo que el mismo tipo se interpretará en SQL correctamente para su uso: >>> punk_rockers = {' pelo ':' rosa ',' tatuajes ':' Tres '} >>> Accesorios = {' Piercings ': 6,' Pantalones ':' vinyl '} >>> sqli.interp ("Actualizar personas establecidas", ACC Essories, "Where", Punk_Rockers) ('Actualizar personas establecen pantalones =?, Piercings =? Donde pelo = Y tatuajes =? ', (' Vinil ', 6,' rosa ',' tres ')) El proyecto de reconocimiento es un puerto indirecto de PERL's SQL :: Interp. Requisitos: · Python


sql_interp Software relacionado