sql >> Databasteknik >  >> RDS >> Mysql

Varför lyckas denna SQL-injektion trots att SQL-satsen ger ett syntaxfel?

Frågorna körs fortfarande eftersom mysql använder ; för att avgränsa varje fråga och den kommer att fortsätta köra frågorna även när det finns ett syntaxfel om du tillåter det. När jag kör frågorna i SequelPro får jag ett meddelande om syntaxfelet och det frågar mig om jag vill fortsätta köra alla frågor eller sluta. Men om du kör dem direkt i MySQL-kommandoraden fortsätter frågorna att köras och MySQL ger bara ett felmeddelande och fortsätter till nästa fråga som förväntat (samma sak som händer med PHP-koden).




  1. skicka dynamiskt tabellnamn i oracle för loop

  2. En stor sak:SQL Server 2016 Service Pack 1

  3. Hur man får den senast exekverade SQL-satsen och binder variabelvärden i Oracle

  4. Hur laddar man upp flera csv-filer till mysql-databasen med jsp och servlet?