Ich versuche, die folgende SQL-Abfrage in Android durchzuführen:
String names = "'name1', 'name2"; // in the code this is dynamically generated
String query = "SELECT * FROM table WHERE name IN (?)";
Cursor cursor = mDb.rawQuery(query, new String[]{names});
Android ersetzt das Fragezeichen jedoch nicht durch die richtigen Werte. Ich könnte Folgendes tun, dies schützt jedoch nicht vor SQL-Injection:
String query = "SELECT * FROM table WHERE name IN (" + names + ")";
Cursor cursor = mDb.rawQuery(query, null);
Wie kann ich dieses Problem umgehen und die IN-Klausel verwenden?