Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> PHP /MySQL Programmering >> Content
Ontsnappen Query voor MySQL in Python
Python , een programmeertaal met dynamische semantiek , is een favoriet onder programmeurs en coders , maar zo is MySQL . Integratie van MySQL met Python is vaak niet veel van een probleem voor ervaren programmeurs , maar codering kan een beetje ingewikkeld omdat C API om _mysql functie mapping krijgen . Ontsnappen is een van deze problemen . MySQLdb

Voor de Python database- API , MySQLdb is vaak het wapen van keuze . Coders kan direct write voorkomen module met behulp van de MySQL -interface . Dit maakt de uitvoering van MySQL C API , maar dit kan niet altijd een eenvoudige taak zijn . MySQL C API heeft een eigen object-georiënteerde processen . Bij het werken met escape functies , " mysql_escape_string ( ) " vertaalt in MySQL als " _mysql.escape_string ( ) . " Het probleem met deze strategie is dat zonder de juiste ontsnappen voor MySQL in Python , er kunnen problemen in verband met ingewikkelde strings , omdat ze mogelijk niet goed ontsnappen .
invoegen variabelen

Een ander probleem doet zich voor wanneer coders voegen variabelen in MySQL tabellen . In het volgende fragment , de coder voegt vier variabelen in een tabel .

Cursor.execute
( " " " INSERT INTO kast ( schoenen , sokken , beenwarmer , bovenste ) VALUES ( nike , puma , wol , adidas ) " " " ) op Twitter

Deze code kan niet werken tenzij de coder voegt een goede escape-teken zoals" % s " . De dubbele aanhalingstekens gebruikt worden ook ontsnappen personages , maar om te ontsnappen aan variabelen , moet de coder gebruikt " % s " .
Procent Teken

De modifiers gebruikt in de SQL-instructie die verantwoordelijk zijn voor de parameters binden kan een beetje verwarrend . " Printf " syntax stijl wordt vaak gebruikt in de MySQL client library . De herziene code ziet er dan als volgt uit:

cursor.execute
( " " " INSERT INTO kast ( schoenen , sokken , beenwarmer , bovenste ) VALUES ( % ( nike ) s , % ( puma ) s , % ( wol ) s , % ( adidas ) s ) " " " ) op

echter , het toevoegen van de escape-tekens is niet genoeg om het probleem te verlichten . Alleen het toevoegen van deze personages nu alleen maakt de code gevoelig voor snaar problemen formatteren en open voor kwaadaardige aanvallen .
Overwegingen

De coder in staat zijn om een veilige coderen , werken code door het toevoegen van bewerkingen verder aan de code . Hier is de laatste werkende code :

cursor.execute
( " " " INSERT INTO Songs kast ( schoenen , sokken , beenwarmer , bovenste ) VALUES ( % s , % s , % s , % s ) " , " " , ( nike , puma , wol , adidas ) ) op Twitter

Een ander probleem kan zich voordoen met het percentage symbool . Als de coder gebruikt een percentage teken in het script , ( met name in de query string , " niet uit te voeren ( ) " ) , moet het goed worden ontkomen - twee procentpunten tekens moeten worden gebruikt . Een van de percentagetekens zal fungeren als de identifier voor de ontsnapping .

Previous: Next:
  PHP /MySQL Programmering
·MySQL Search Tutorial 
·Hoe te synchroniseren en Stabi…
·Hoe te Filemaker Pro converter…
·Hoe te verbinden PHP met een M…
·Een PHP Record van alle MySQL …
·Hoe maak je een rij in MySQL M…
·Hoe maak je een klasse uitbrei…
·Tutorial over Simple PHP Regis…
·Hoe maak je een online quiz me…
  Related Articles
Hoe maak je een fout Handler voor een VB…
Hoe Access gebruiken voor Visual Basic P…
Hoe om te controleren voor Null waarde i…
Tutorial voor Visual Basic Commands 
Graphics Tutorial voor Visual Basic 6 
Basic Help voor Microsoft Visual 
VBA Tutorial voor Word 
Tutorial voor het toevoegen van Visual B…
Hoe maak je een Pass parameterquery toeg…
  Programmering Articles
·Hoe je object Methode Locate IVX 
·Hoe te schrijven Adsense advertenties vo…
·Wat Is Protocol Onverenigbaarheid ? 
·Hoe om te controleren of er een Module L…
·Hoe maak je verbinding GoDaddy Java om M…
·Hoe maak je een programma dat Vertaalt e…
·Hoe een Live Chat systeemcode in PHP 
·Hoe kan ik een Foutniveau in VBS Terug 
·Hoe kan ik op Alles vervangen Backslashe…
Copyright © Computer Kennis http://www.nldit.com