Вход в Javascript с использованием деталей из нескольких таблиц с несколькими запросами - PullRequest
0 голосов
/ 18 апреля 2019

Я настраиваю веб-сайт и использую MySQL Workbench в качестве основной СУБД.Также используется NodeJS для соединения бэкенда с внешним интерфейсом.Более того, мне удалось успешно установить соединение с базой данных и выполнить несколько простых запросов, которые также были успешными.Моя проблема, однако, состоит в том, чтобы получить все данные для входа (uidUsers, pwdUsers) из 3 таблиц (лекторы, студенты и admin1) в базе данных.Все эти 3 таблицы включают столбцы uidUsers и pwdUsers.Мне удалось получить данные только из одной таблицы, и я не могу получить вышеупомянутые данные из всех 3 таблиц одновременно одним запросом.Что я пытаюсь достичь, так это то, что когда пользователь входит на веб-сайт, он может использовать данные для входа в систему из таблицы студентов, таблицы admin1 или таблицы лекторов, в зависимости от их роли.Любые идеи будут с благодарностью.

Я пробовал разные подходы, чтобы попытаться решить эту проблему, такие как выбор всех 3 таблиц с одним запросом (как обычно с SQL), я также попытался разделить запросы на3 различных и все еще не повезло.

//Authenticating credentials for the login system
    app.post('/auth', function(request, response){
        var username = request.body.username;
        var password = request.body.password;

        if(username&&password){
            con.query('SELECT* \
            FROM students \
            WHERE uidUsers = ? AND pwdUsers =?; \
            SELECT* \
            FROM admin1 \
            WHERE uidUsers = ? AND pwdUsers =?;
            SELECT* \
            FROM lecturers \
            WHERE uidUsers = ? AND pwdUsers =?', [username, password], function(error,results,fields)
            {
                if(results.length > 0){
                    //To determine if the client is logged in
                    request.session.loggedin = true;
                    request.session.username = username;
                    response.redirect('/home');
                }else{

                    response.redirect('/loginfailed');
                }
                response.end();
            });
        }else {
            response.redirect('/loginfailed');
            response.end();
        }
    });

Ожидаемые результаты должны быть следующими: если пользователь попытается войти в систему, используя данные для входа в систему студентов, затем обновится и попытается снова с помощью admin1, а также данных для входа в систему лекторов, это позволит пользователю войти в систему.на сайте без сбоев.

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