Причина, по которой ваш запрос не будет работать, заключается в том, что вы обводите имя столбца и имя таблицы одинарными кавычками. Они являются идентификаторами, а не строковыми литералами, поэтому их не следует обматывать одиночной цитатой.
SELECT COUNT(id) FROM users WHERE username = '$username'
Если это случается, что имена столбцов и название таблиц используется зарезервированным ключевое слово, они могут быть бежать с обратными кавычками не с одинарными кавычками.
В этом случае обратные метки не требуются, поскольку ни один из них не является зарезервированным ключевым словам.
Другие ссылки:
Как Замечание, запрос уязвима с SQL Injection
, если значение (s) переменных пришли снаружи. Пожалуйста, ознакомьтесь с приведенной ниже статьей, чтобы узнать, как ее предотвратить. Используя PreparedStatements
, вы можете избавиться от использования одинарных кавычек вокруг значений.
Снимите '» «' 'из username' – asprin