Это моя база данных
когда я запускаю запрос
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, вы обнаружите, что результат выбора равен 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'
'username'буквально. Вы сравниваете одну строку с другой. Вместо этого используйте обратные кавычки вокруг имени пользователя и пароля.