Nie moge odczytać wartość z zapytania sql

0

Witam,
wykonuje zapytanie SELECT na bazie danych po czym wraca mi obiekt BinaryRow ale gdy chce odczytac wartosc to pokazuje mi ze jest undefined. Chce odczytac z bazy danych haslo ktore jest przypisane do maila zeby uzytkownik mogl sie zalogowac.

router.post("/login", (req, res, next)=>{
    let email = req.body.email;
    db.execute("SELECT password FROM user WHERE email = ?", [email]).then(function (result) {
        if(result[0].password == req.body.password) {
            console.log(result[0].password);
            res.redirect("/users");
        }else{
            console.log(result[0]);
            return false;
        }
    });
});

.

0
  1. Czym jest db? (innymi słowy: którą bibliotekę do łączenia z bazą danych wykorzystujesz)
  2. Poczytaj o haszowaniu haseł.
0

Db to ta klasa

const mysql = require('mysql2');

const pool = mysql.createPool({
   host: 'localhost',
   user: 'root',
   password: 'admin1',
   database: 'weekop',
   multipleStatements: true,
   charset: 'utf8'
});

module.exports = pool.promise();
0

Dokumentacja mówi, że do zapytań zwracających rezultaty powinieneś wykorzystać metodę query().

0

Zaktualizowany kod

router.post("/login", (req, res, next)=>{
    let email = req.body.email;
    db.query("SELECT password FROM user WHERE email = ?", [email]).then(function (result) {
        if(result[0].password == req.body.password) {
            console.log(result[0].password);
            res.redirect("/users");
        }else{
            console.log(result[0].password);
            return false;
        }
    });
    // Przyklad z dokumentacji rowniez wraca undefined
    db.query("SELECT * FROM user WHERE email = '[email protected];", function (err, result, fields) {
        console.log(result);
        console.log(fields);
    })
});

1 użytkowników online, w tym zalogowanych: 0, gości: 1