PHP mysql

Статус
В этой теме нельзя размещать новые ответы.

sdfaw

Активный
Автор темы
717
150
PHP:
<?php
$email = filter_var(trim($_POST['email']), FILTER_SANITIZE_STRING);
$password = filter_var(trim($_POST['password']), FILTER_SANITIZE_STRING);

$passwor = md5($password);

require_once 'connection.php';
$link = mysqli_connect($host, $user, $passwordf, $database)
    or die("ќшибка " . mysqli_error($link));
 
$result = $link->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") выводится, даже когда пароль и почту правильно пишу
 
Решение
Замени на:
PHP:
$result = $link->query("SELECT `email` , `password` FROM users WHERE `email` = '$email' AND `password` = '$passwor'") or die("ќшибка rfgasf" . mysqli_error($link));
В апострофы указываются БД и таблицы, а в одинарные кавычки только какие-либо значения.
Возможно, ошибка в этом.

SR_team

like pancake
BH Team
4,804
6,475
PHP:
<?php
$email = filter_var(trim($_POST['email']), FILTER_SANITIZE_STRING);
$password = filter_var(trim($_POST['password']), FILTER_SANITIZE_STRING);

$passwor = md5($password);

require_once 'connection.php';
$link = mysqli_connect($host, $user, $passwordf, $database)
    or die("ќшибка " . mysqli_error($link));

$result = $link->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

Потрачен
110
33
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Замени на:
PHP:
$result = $link->query("SELECT `email` , `password` FROM users WHERE `email` = '$email' AND `password` = '$passwor'") or die("ќшибка rfgasf" . mysqli_error($link));
В апострофы указываются БД и таблицы, а в одинарные кавычки только какие-либо значения.
Возможно, ошибка в этом.
 
Статус
В этой теме нельзя размещать новые ответы.