Сравнение в PHP , sql;

230
08 февраля 2018, 18:18

Не понимаю прикола PHP но всё же , сравниваю правильный пароль , и который ввел пользователь , и тут всегда даёт false , не понимаю в чем проблема , решаю вывести эти переменные и тут :

"123452111"{"password":"123452111"}

в PHP:

    $password = $_POST["passworded"];
    $sqlch = "SELECT password FROM users WHERE login = '$login'";
    $resch = mysqli_query($mysql_con, $sqlch);
    $rowch = mysqli_fetch_assoc($resch);
    if ($rowch != $password) {
    echo json_encode($password);
    echo json_encode($rowch);
    setcookie("login", $login, time()+3600*24*30, "/"); 
    } else {
        echo json_encode("3");
    }

Answer 1

Вы сравнивание массив со строкой, поэтому на выходе и получается false.

mysqli_fetch_assoc возвращает ассоциативный массив даже, если Вы запрашиваете только один столбец.

Верный вариант:

$rowch = mysqli_fetch_assoc($resch)['password'];
READ ALSO
PHP какой файл отвечает за вывод меню

PHP какой файл отвечает за вывод меню

Здравствуйте! Помогите определить, какой из указанных в данном коде файлов может отвечать за вывод верхнего меню на html-странице

245
Как объединить один аккаунт с двумя система входа?

Как объединить один аккаунт с двумя система входа?

Есть самопальная система регистрации и входа, как позволить пользователю входит в свой аккаунт не с помощью самопальной система, а при помощи...

205
Проблема с миграцией yii

Проблема с миграцией yii

Переношу сайт с одного сервера на другой, сайт на yii2Вводил следующую последовательность команд

313
Не могут создаться куки в PHP

Не могут создаться куки в PHP

Уже неделю мучаюсь с куки в PHPПросто скажито что тут НЕ ТАК

348