Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> PHP /MySQL Programmering >> Content

    Escape Query för MySQL i Python

    Python , ett programmeringsspråk utrustad med dynamisk semantik , är en favorit bland programmerare och kodare , men så är också MySQL . Integrering av MySQL med Python är ofta inte mycket av ett problem för erfarna programmerare , men kodning kan bli lite invecklad på grund av C API _mysql funktion kartläggning . Escaping är ett av dessa problem. MySQLdb

    För Python databas-API är MySQLdb ofta vapen val . Kodare kan undvika direkta skrivning till modulen genom att använda MySQL -gränssnittet . Detta möjliggör genomförandet av MySQL C API , men det kan inte alltid vara en enkel uppgift . MySQL C API har egna objektorienterade processer . När du arbetar med escape -funktioner , " mysql_escape_string ( ) " översätter i MySQL som " _mysql.escape_string ( ) . " Problemet med denna strategi är att utan ordentlig flyr för MySQL i Python , kan det finnas problem med komplicerade strängar , eftersom de inte kan komma undan ordentligt . Addera sätta variabler

    annat problem uppstår när kodare infoga variabler i MySQL tabeller . I följande utdrag kodaren skär fyra variabler i en tabell .

    Cursor.execute ( " " " INSERT INTO skåp ( skor , strumpor , benvärmare , övre ) VALUES ( nike , puma , ull , adidas ) " " " ) katalog

    kod kanske inte fungerar om inte kodaren lägger en ordentlig escape tecken som " % s " . De dubbla använt citat fly också tecken , men för att fly variabler måste kodaren använda " % s " .
    Procenttecken

    Modifierarna används i SQL-satsen som är ansvarig för bindning av parametrarna kan vara lite förvirrande . " Printf " stil syntax används ofta i MySQL klient biblioteket . Den omarbetade utdrag bör då se ut så här :

    cursor.execute ( " " " INSERT INTO skåp ( skor , strumpor , benvärmare , övre ) VALUES ( % ( nike ) s , % ( puma ) s , % ( ull ) s , % ( adidas ) s ) " " " ) katalog

    dock lägga till escape-tecken är inte tillräckligt för att lindra problemet . Bara att lägga till dessa karaktärer ensam nu gör koden mottaglig för formatsträngssårbarheter frågor och öppen för angrepp .
    Överväganden

    kodare kanske kan koda en säker , arbetar kod genom att lägga redigeringar vidare till koden . Här är det slutliga arbetet kod :

    cursor.execute ( " " " INSERT INTO Songs skåp ( skor , strumpor , benvärmare , övre ) VALUES ( % s , % s , % s , % s ) " , " " , ( nike , puma , ull , adidas ) ) katalog

    annat problem kan uppstå med den procentuella symbolen . Om kodaren använder en procentsats skylt i skriptet , ( särskilt i frågesträngen , " att inte exekvera ( ) " ) , bör det väl rymt - två procentenheter tecken måste användas . En av de procentuella skyltarna kommer att fungera som identifierare för flykt .

    Tidigare:

    nästa:
    relaterade artiklar
    ·MySQL Primary Key Tutorial
    ·PHP String Extraction
    ·Hur Importera SQLite till MySQL
    ·Hur man byter en databas i XML
    ·Hur man bygger en webbplats med MySQL
    ·Hur uppdatera flera kolumner
    ·Hantera MySQL med Plesk
    ·Hur man öppnar en PDF- formulär med PHP
    ·PHP Variabler Vs . Funktioner
    ·Hur man gör Quality CSS lutningar
    Utvalda artiklarna
    ·Egenskaper för Visual Basic
    ·Hur du ändrar markören i C + +
    ·Hur man slår ihop platta filer
    ·Hur Importera SQLite till MySQL
    ·Återställa Spool filer
    ·Java undantagshantering Tutorials
    ·Vad är Digital Coding
    ·Hur man undviker Null Pointer Undantag i Java
    ·Hur man skriver Java -program
    ·Varför behöver vi Java för Windows Systems
    Copyright © Dator Kunskap http://www.dator.xyz