sql >> Database >  >> RDS >> SQLite

Wat is het doel van String[] whereArgs in int delete (String table, String whereClause, String[] whereArgs) functie?

Zoals de documentatie zegt, wordt het gebruikt voor ? markeringen in uw queryreeks. U kunt dit bijvoorbeeld gebruiken:

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

Het gebruik van parametermarkeringen is erg belangrijk om SQL-injectie te voorkomen. Bijvoorbeeld,

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

zal niet alle rijen van uw tabel verwijderen, maar als u dat naïef deed

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

en userName was ingesteld op "' OR '' = '" , dat zou inderdaad je hele tafel vernietigen.



  1. Een MariaDB Galera-cluster runnen zonder orkestratietools - DB Container Management:deel twee

  2. Hardwaretrends voor databaseservers

  3. Hoe kan ik 'invoegen indien niet bestaat' in MySQL doen?

  4. De geheimen van Domino's, of een Domino-spelgegevensmodel