这是我的数据库当我运行查询时
SELECT * FROM `users` WHERE 'username'= 'abc' && 'password' = 'abc'
我得到:mysql返回一个空结果集(即零行)但是用户名 和密码 存在于我的数据库中。为什么mysql返回零行?
和密码
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'
1条答案
按热度按时间j8yoct9x1#
原因是你已经添加了
"
到您的列名如果执行below sql,您将发现select结果为0
所以您当前的sql相当于
这就是sql返回0个结果的原因;
为了让它工作,你需要改变
"
到`或者干脆搬走
"
在列名中