Skip to content

TypeError: val.toString is not a function #45

Closed
@mafsan786git

Description

@mafsan786git

When I'm trying to log in it is throwing me the error...
here is error...

TypeError: val.toString is not a function
    at Object.escape (/home/mohd/Desktop/codebucket/loginsystem/node_modules/sqlstring/lib/SqlString.js:52:33)
    at Object.objectToValues (/home/mohd/Desktop/codebucket/loginsystem/node_modules/sqlstring/lib/SqlString.js:180:89)
    at Object.escape (/home/mohd/Desktop/codebucket/loginsystem/node_modules/sqlstring/lib/SqlString.js:54:26)
    at Object.format (/home/mohd/Desktop/codebucket/loginsystem/node_modules/sqlstring/lib/SqlString.js:100:19)
    at Connection.format (/home/mohd/Desktop/codebucket/loginsystem/node_modules/mysql/lib/Connection.js:274:20)
    at Connection.query (/home/mohd/Desktop/codebucket/loginsystem/node_modules/mysql/lib/Connection.js:192:22)
    at Strategy._verify (/home/mohd/Desktop/codebucket/loginsystem/config/passport.js:16:28)
    at Strategy.authenticate (/home/mohd/Desktop/codebucket/loginsystem/node_modules/passport-local/lib/strategy.js:88:12)
    at attempt (/home/mohd/Desktop/codebucket/loginsystem/node_modules/passport/lib/middleware/authenticate.js:361:16)
    at authenticate (/home/mohd/Desktop/codebucket/loginsystem/node_modules/passport/lib/middleware/authenticate.js:362:7)

AND MY LOG IN CODE IS GIVEN BELOWcan you please resolve this issue

const localStrategy = require('passport-local').Strategy;
const bcrypt = require('bcryptjs');
const mysql = require('mysql');

const connection = require('./database');

module.exports = function (passport) {
    passport.use(
        new localStrategy(
            {usernameField:'email',
            passwordField:'password',
            passReqToCallback:true
            },
            (email, password, done)=>{
                var sql = 'SELECT * FROM user WHERE email = ?';
                connection.query(sql,email,(error,results,fields)=>{
                    if(error) throw error;
                    //Match user
                    if(!results.length)
                        return done(null, false, {message:'That email is not register'});

                    //Match
                    bcrypt.compare(password,results[0].password,(err,isMatch)=>{
                        if(err) throw err;
                        if (isMatch) {
                            console.log(results[0]);
                            console.log('every thing is fine');
                            
                            //return done(null,results[0]);
                        }else{
                            return done(null, false, {message:'Password incorrect'});
                        }
                    });
                });
            })
    );

    //serializeuser
    passport.serializeUser(function (user,done) {
        console.log(user.id);
        done(null,user.id);
    });

    //deserializeuser
    passport.deserializeUser(function (id,done) {
        connection.query('SELECT * FROM user WHERE id = ?',id,(err,results,fields)=>{
            done(err,results[0]);
        });
    });

};

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions