这是我的数据库
我运行查询时
SELECT *
FROM `users`
WHERE 'username'= 'abc' && 'password' = 'abc'
我得到了:
MySQL返回了一个空结果集(即零行)
但是我的数据库中存在用户名abc
和密码abc
。为什么MySQL返回零行?
答案 0 :(得分:0)
原因是您在列名中添加了"
'username'= 'abc' && 'password' = 'abc'
如果在sql下执行,则选择结果为0
SELECT 'username'= 'abc' && 'password' = 'abc';
+-----------------------------------------+
| 'username'= 'abc' && 'password' = 'abc' |
+-----------------------------------------+
| 0 |
+-----------------------------------------+
1 row in set (0.00 sec)
因此您当前的sql等效于
SELECT * FROM `users` WHERE 0;
这就是您的sql将返回0个结果的原因;
要使其正常运行,您需要将"
更改为`
SELECT * FROM `users` WHERE `username`= 'abc' AND `password` = 'abc'
或仅删除列名中的"
SELECT * FROM `users` WHERE username= 'abc' AND password = 'abc'