PDA

Просмотр полной версии : mysql


sdfaw
08.02.2020, 22:41
PHP:






query("SELECT 'email' , 'password' FROM users WHERE 'email' = '$email' AND 'password' = '$passwor'") or die("ќшибка rfgasf" . mysqli_error($link));
$user = $result->fetch_assoc();
if((count($user)) == 0)
{
echo md5("123456");
exit();
} else if((count($user)) > 0) {
echo "salam brat";
exit();
}

setcookie('user', $user['nickname'], time() + 3600, "/");
mysqli_close($link);
?>




всегда md5("123456") выводится, даже когда пароль и почту правильно пишу

Randewoo
09.02.2020, 18:19
Дак значит пользователя нет в бд

SR_team
09.02.2020, 18:41
PHP:






query("SELECT 'email' , 'password' FROM users WHERE 'email' = '$email' AND 'password' = '$passwor'") or die("ќшибка rfgasf" . mysqli_error($link));
$user = $result->fetch_assoc();
if((count($user)) == 0)
{
echo md5("123456");
exit();
} else if((count($user)) > 0) {
echo "salam brat";
exit();
}

setcookie('user', $user['nickname'], time() + 3600, "/");
mysqli_close($link);
?>




всегда md5("123456") выводится, даже когда пароль и почту правильно пишу


Я не знаю как в mysql, НО строки нормально сравниваются в pgsql, но не сравниваются в mssql. Попробуй использовать

LIKE

вместо

=

для сравнения строк

Randewoo
09.02.2020, 22:01
Замени на:

PHP:






$result
=
$link
-
>
query
(
"SELECT `email` , `password` FROM users WHERE `email` = '$email' AND `password` = '$passwor'"
)
or
die
(
"ќшибка rfgasf"
.
mysqli_error
(
$link
)
)
;




В апострофы указываются БД и таблицы, а в одинарные кавычки только какие-либо значения.

Возможно, ошибка в этом.