Android写MySQL语句易范的错误

背景还是我的登录注册功能,连接好MySQL需要写SQL语句,再转换成preparedStatement,就在语句上出现了问题
使用这条语句要实现的功能是查询数据库中有没有与填入的用户名相同的语句,用户名可由数字和字母组成,字段类型为varchar,起初我写的是下面的这条语句

String sql = "SELECT * FROM user_information where name= "+user_name+" ;";

测试时发现填入的是数字,可以成功查询;
填入的是字母,查询不了。
我首先打印了以下sql语句,发现是这样的:
select * from user_information where name = a ;
然后在mysql命令行里试了一下,弹出错误
ERROR 1054 (42S22): Unknown column ‘a’ in ‘where clause’
会不会是字符串的问题,于是打出
select * from user_information where name = ‘a’ ;
这样就没有问题了
而对于一串数字,加不加单引号都可以成功查询,所以将AS中的mysql语句改成:

String sql = "SELECT * FROM user_information where name= '"+user_name+"' ;";

细心真的很重要!每天提醒自己一遍

你可能感兴趣的:(毕设,mysql,android)