Member 13920909 Ответов: 2

Mysql_fetch_array() ожидает, что параметр 1 будет ресурсом, логическим значением, заданным в


if(isset($_POST['submit']))
{
session_start();
$имя пользователя = использования mysql_real_escape_string($_POST, где['имя пользователя']);
$password = mysql_real_escape_string($_POST['password']);
$запрос = mysql_query("выбрать * из пользователей, где имя пользователя=$имя пользователя и
пароль=$пароль");
$row = mysql_fetch_array($query);
если($строки['логин']==$имя пользователя и усилитель; & $строки['пароль']==$пароль)
{
Эхо "wellcomo";
}еще{
echo "введите правильные данные";
}
}

Что я уже пробовал:

может ли кто-нибудь предложить мне решение для этого

Richard Deeming

НИКОГДА храните пароли в виде обычного текста!
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]

PHP даже имеет встроенные функции, которые помогут вам сделать все правильно:
PHP: password_hash[^]
РНР: функцию password_verify[^]

2 Ответов

Рейтинг:
0

Richard MacCutchan

Еще один вопрос на эту часто задаваемую тему.

Если бы вы попробовали поиск в Google, то нашли бы ответ довольно быстро. Вы можете найти его еще быстрее, прочитав документацию, где она объясняет различные типы результатов, которые может возвращать команда MySQL. Подсказка: не думайте, что ваша команда всегда будет успешной.


Рейтинг:
0

Patrice T

$query = mysql_query("SELECT * FROM user where username=$username and
password=$password");

Не решение вашего вопроса, а еще одна проблема, которая у вас есть.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? - Обмен Стеками Информационной Безопасности[^]