@LuidgiVamp

Как правильно записать mysql_result в mysqli?

function login($post)
{

    global $db;
    if (empty($post['login']) || empty($post['password'])) {
        return "Заполните поля";
    }

    $login = clear_str($post['login']);
    $password = md5(trim($post['password']));

    $sql = "SELECT user_id,confirm
			FROM " . PREF . "users
			WHERE login = '%s'
			AND password = '%s'";
    $sql = sprintf($sql, mysqli_real_escape_string($db, $login), $password);

    $result = mysqli_query($db, $sql);

    if (!$result || mysqli_num_rows($result) < 1) {
        return "Не правильный логи или пароль";
    }
    <b>if (mysqli_result($result, 0, 'confirm') == 0) {
        return "Пользователь с таким логином еще не продтвержден";
    }</b>

    $sess = md5(microtime());

    $sql_update = "UPDATE " . PREF . "users SET sess='$sess' WHERE login='%s'";
    $sql_update = sprintf($sql_update, mysqli_real_escape_string($db, $login));

    if (!mysqli_query($db, $sql_update)) {
        return "Ошибка авторизации пользователя";
    }

    $_SESSION['sess'] = $sess;

    if ($post['member'] == 1) {
        $time = time() + 10 * 24 * 3600;

        setcookie('login', $login, $time);
        setcookie('password', $password, $time);

    }

    return TRUE;
}


if (mysqli_result($result, 0, 'confirm') == 0) {
return "Пользователь с таким логином еще не продтвержден";
}


как правильно записать вот эту строчку? - if (mysqli_result($result, 0, 'confirm') == 0)
выдает ошибку


Uncaught Error: Call to undefined function mysqli_result() in C:\Server\domains\1234\functions.php:180 Stack trace: #0 C:\Server\domains\1234\actions\login.php(5): login(Array) #1 C:\Server\domains\1234\index.php(21): include('C:\\Server\\domai...') #2 {main} thrown in C:\Server\domains\1234\functions.php on line 180

И сразу на засыпку
if ($post['member'] == 1) {
        $time = time() + 10 * 24 * 3600;

        setcookie('login', $login, $time);
        setcookie('password', $password, $time);

    }

Вот эту функцию что бы запомнить введенные данные логин и пароль
  • Вопрос задан
  • 905 просмотров
Решения вопроса 1
@LuidgiVamp Автор вопроса
if(mysqli_fetch_assoc($result)['confirm'] == 0) {
        return ("Пользователь с таким логином еще не продтвержден");
    }

Вот правильный код!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Dlive1989
//Похоже и это условие тоже не работает. по крайней мере у меня.

//Вот есть аналог mysql_result($result,0) :

//Создаем функцию рядышком вверху:

function mysqli_result($res,$row=0,$col=0){
$numrows = mysqli_num_rows($res);
if ($numrows && $row <= ($numrows-1) && $row >=0){
mysqli_data_seek($res,$row);
$resrow = (is_numeric($col)) ? mysqli_fetch_row($res) : mysqli_fetch_assoc($res);
if (isset($resrow[$col])){
return $resrow[$col];
}
}
return false;
}

//Потом пишем наш результат:

if(mysqli_result($result,0)==0) { //mysqli_result
return ("Пользователь с таким логином еще не подтвержден");
}

//по идее должно работать если вы в условии равенство не перепутали с != (не равно)
//Успехов!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы