sql >> Databasteknik >  >> RDS >> SQLite

Vad är syftet med String[] whereArgs i int delete (String table, String whereClause, String[] whereArgs) funktion?

Som dokumentationen säger, används den för ? markörer i din frågesträng. Du kan till exempel använda detta:

SQLiteDatabase.delete("users", "user_name = ?", new String[] {"Talib"});

Användningen av parametermarkörer är mycket viktig för att undvika SQL-injektion. Till exempel,

SQLiteDatabase.delete("users", "user_name = ?", new String[] {"' OR '' = '"});

kommer inte att ta bort alla rader i din tabell, men om du naivt gjorde det

SQLiteDatabase.delete("users", "user_name = '" + userName + "'");

och userName var inställd på "' OR '' = '" , det skulle verkligen bombardera hela ditt bord.



  1. Hur man hittar när MySQL/MariaDB-servern startades

  2. Är PostgreSQL-funktioner transaktionella?

  3. PDO:MySQL-servern har försvunnit

  4. Konvertera decimaltid till timmar och minuter