mysqlnode.jshbs

"Mysql problem "profile data do not show in my html page


I am trying to view a data from Mysql and pass it to the profile page where i can see the info of the user but i tried many time and different ways but couldnt find a way and also there is no errors I used {{#each}}{{this.fullname}}{{/each}} i tired if also but the data does not display would anyone help me to pls to solve it or if there is another way to display my data

i am using node js, express and hbs engine

router.get('/profilePage/:userid', function(req, res) {

    var userid = req.params.userid;
    
    pool.query('SELECT * from users where id = ?', userid, function(error, results, feilds) {
        if (error) {
            console.log("error ocurred while getting user details of " + userid, error);
            res.send({
                "code": 400,
                "failed": "error ocurred"
            });
        } else {
            res.render("profilePage",{user:results});
        }
    });
});


Solution

  • Try this:

    router.get('/profilePage/:userid', function(req, res) {
    
        var userid = req.params.userid;
        if (!userid) {
         //No user id provided
         } else {
        pool.query('SELECT * from users where id = ?',
        [userid], 
       (error, results, feilds)=> {
            if (error) {
                console.log("error ocurred while getting user details of " + userid, error);
                res.send({
                    "code": 400,
                    "failed": "error ocurred"
                });
            } else {
                if (results.length > 0) {
                const profile = results[0]
                //You can then access the user id with
                console.log(profile.id)
                res.render("profilePage",{user:profile});
                } else {
                 console.log('unable to retrieve a profile')
                }
            }
        });
    }
    });