有个字段 是username 是varchar类型的
我在mysql 里执行 select * from company where username="name"; 和 select * from company where username="\name";
得到相同的结果。不知道是什么问题?怎么解决这个问题?
...全文
1568打赏收藏
user 和 \user 相等??
我的数据表 是company 有个字段 是username 是varchar类型的 我在mysql 里执行 select * from company where username="name"; 和 select * from company where username="\name"; 得到相同的结果。不知道是什么问题?怎么解决这个问题?
你的mysql版本是多少,我的是5.0.19就没有这个问题,你换个版本试试看
mysql> use bookshop;
Database changed
mysql> select name from user where name='tom';
+------+
| name |
+------+
| tom |
+------+
1 row in set (0.01 sec)
mysql> select name from user where name='\tom';
Empty set (0.00 sec)
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.19-nt |
+-----------+
1 row in set (0.02 sec)
我的意思是这样的 我做的jsp 页面登录之后 或者字符串,然后查询。
select * from user where username="peng";//peng 是从登录页面传过来的字符串。
现在是数据库里有一个叫peng的用户。 如果用户输入 peng 能查到。但是现在用户输入\peng
也是同样能登录。应该用户输入\peng是查不到数据的。这里是我对用户输入再作判断吗?
但是我直接在mysql里执行 select * from user where username="\peng"; 它查出来的结果就是peng的结果。