MySQL 尽管数据存在,但查询不返回相关数据

MySQL query not returning the relevant data despite the data existing

这是我的数据库

当我运行查询

SELECT * 
FROM `users` 
WHERE 'username'= 'abc' && 'password' = 'abc'

我得到:

MySQL returned an empty result set (i.e. zero rows)

但是用户名 abc 和密码 abc 存在 在我的数据库中。为什么 MySQL 返回零行?

原因是您已将 " 添加到您的列名

'username'= 'abc' && 'password' = 'abc'

如果你执行下面的sql,你会发现select的结果是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 将 return 0 个结果的原因;


要使其正常工作,您需要将 " 更改为 `

SELECT * FROM `users` WHERE `username`= 'abc' AND `password` = 'abc'

或者只删除列名

中的"
SELECT * FROM `users` WHERE username= 'abc' AND password = 'abc'