我在Android上有一个用户必须注册的应用程序,他们必须介绍一个名字。问题是当用户在他的名字中引入apostrophe (')
时(例如Satck'developers)。然后在应用程序中我遇到了数据库SQLite的问题。
UPDATE用户SET名称='othername'WHERE name ='Stack'developers'`)
这会导致SQLiteException。
如何在Android中管理这种情况?我怎么能不允许用户放置apostrophe (')
?
非常感谢你。
答案 0 :(得分:2)
您需要转义保留字符以避免SQL注入。有内置的方法可以自动完成。
int update(SQLiteDatabase db, String originalName, String newName) {
ContentValues values = new ContentValues();
values.put("name", newName);
return db.update("user", values, "name = ?", new String[]{originalName});
}
答案 1 :(得分:-1)
如果你不想允许'那么你需要在存储到db之前验证输入。像
这样的东西<div id="demo">
<child-component class="some-class"></child-component>
</div>