我想执行如下查询:
uvalue = EditText( some user value );
p_query = "select * from mytable where name_field = '" + uvalue + "'" ;
mDb.rawQuery( p_query, null );
Run Code Online (Sandbox Code Playgroud)
如果用户在输入中输入单引号,则会崩溃.如果您将其更改为:
p_query = "select * from mytable where name_field = \"" + uvalue + "\"" ;
Run Code Online (Sandbox Code Playgroud)
如果用户在输入中输入双引号,它就会崩溃.当然,他们总是可以输入单引号和双引号.
假设我有一个列值,因为aaa'gh它会在oracle中抛出错误,说sql命令没有正确结束.
我的问题是,如果我不知道有多少'是我的价值,我怎么能安全地逃脱它们.