Я просто пытаюсь написать простой скрипт, который проверяет имя пользователя и пароль пользователя, пытающегося войти в систему ... и затем запускает сеанс. Однако у меня проблемы.SELECT query problem - система входа пользователя
Когда я пытаюсь запустить сценарий ниже, SUCCESS не распечатывает. Однако, как если бы имя пользователя и пароль были неверными, я знаю, что введенное имя пользователя и пароли действительно являются правильными.
$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM users WHERE username='.$username.' AND password='.$password.'");
while($row = mysql_fetch_array($result)){
echo 'SUCCESS';
}
Когда я пытаюсь запустить скрипт ниже, однако, успех распечатывает два раза (это число выборок пользователей у меня в дб до сих пор), что является правильным.
У меня проблема с запросом AND mySQL выше, однако, мне кажется правильным, есть ли проблема с моим первым запросом выше? если нет, то что еще может быть проблемой?
$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM users");
while($row = mysql_fetch_array($result)){
echo 'SUCCESS';
}
fyi! - http://php.net/manual/en/function.mysql-real-escape-string.php – trapper
некоторые люди упомянули уязвимость внедрения SQL, но также убедитесь, что вы не храните пароли открытого текста в своей базе данных. даже простой 'md5()' лучше, но для достижения наилучших результатов используйте сильную схему шифрования и достаточно длинную соль. – davethegr8
Буду, спасибо за совет. Я все еще на начальных этапах создания веб-сайта и еще не предпринял никаких мер безопасности; Я обязательно планирую в будущем, спасибо вам;) – AnchovyLegend