PHP / Mysql не может получить текущее имя пользователя в базе данных sql - PullRequest
0 голосов
/ 01 декабря 2018

Я надеюсь, что у вас все хорошо, и я хотел бы сообщить вам, что у меня возникла проблема с созданной системой входа в систему, поскольку я не могу получить текущее имя пользователя first_name из базы данных SQL;поскольку он отображает только первую запись из базы данных, если я вошел в систему с любым из созданных пользователей.

Вот созданная функция:

function user_data($user_id) {
    $data = array();
    $user_id = (int)$user_id;

    $func_num_args = func_num_args();
    $func_get_args = func_get_args();

    if ($func_num_args > 1) {
        unset($func_get_args[0]);
        $conn = mysqli_connect('localhost', 'root', '', 'login_system') or die($connect_error);

        $fields = '`' . implode('`, `', $func_get_args) . '`';

$data = mysqli_fetch_assoc(mysqli_query($conn, "SELECT $fields FROM `users` WHERE `user_id` = $user_id"));

    }
    return $data;
}

, а вот код для отображения первойимя:

<div class="widget">
    <h2>Hello, <?php echo $user_data['first_name']; ?>!</h2>
</div>

Например:

1) Я создал следующих пользователей: alex, billy, Carlo.

2) При входе в систему с именами пользователей billy или Carlo;Я получаю только первые сведения о записи, которые связаны с Алексом.

Не могли бы вы проверить и сообщить, есть ли проблема в коде и почему отображаются только первые сведения о записи.

Спасибовы.

1 Ответ

0 голосов
/ 01 декабря 2018

Возможно, вы получаете неправильный user_id в качестве ввода для запроса.Также есть вероятность, что user_id имеет дубликаты и не помечен как уникальный ключ.

Пожалуйста, обновите вопрос и предоставьте точную структуру таблицы с данными.

PS: очень важно экранировать ваши параметры, прежде чем вводить свое значение в запрос.Рекомендуется использовать pdo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...