gpt4 book ai didi

sql查询字符串中的Android引号

转载 作者:IT王子 更新时间:2023-10-28 23:51:05 24 4
gpt4 key购买 nike

我想执行如下查询:

uvalue = EditText( some user value );
p_query = "select * from mytable where name_field = '" + uvalue + "'" ;
mDb.rawQuery( p_query, null );

如果用户在输入中输入单引号,它会崩溃。如果您将其更改为:

p_query = "select * from mytable where name_field = \"" +  uvalue + "\"" ;

如果用户在输入中输入双引号,它会崩溃。当然,他们总是可以同时输入单引号和双引号。

最佳答案

您应该使用 rawQuery方法的 selectionArgs 参数:

p_query = "select * from mytable where name_field = ?";
mDb.rawQuery(p_query, new String[] { uvalue });

这不仅可以解决您的报价问题,还可以缓解 SQL Injection .

关于sql查询字符串中的Android引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1296180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com