mysql查询不返回相关数据,尽管数据已经存在

imzjd6km  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(339)

这是我的数据库

当我运行查询时

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

我得到:
mysql返回一个空结果集(即零行)
但是用户名 和密码 存在于我的数据库中。为什么mysql返回零行?

j8yoct9x

j8yoct9x1#

原因是你已经添加了 " 到您的列名

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

如果执行below 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返回0个结果的原因;
为了让它工作,你需要改变 " 到`

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

或者干脆搬走 " 在列名中

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

相关问题