Android 내에서 다음 SQL 쿼리를 수행하려고합니다.
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는 물음표를 올바른 값으로 대체하지 않습니다. 다음을 수행 할 수 있지만 이것은 SQL 주입으로부터 보호되지 않습니다.
String query = "SELECT * FROM table WHERE name IN (" + names + ")";
Cursor cursor = mDb.rawQuery(query, null);
이 문제를 어떻게 해결하고 IN 절을 사용할 수 있습니까?