En la base de datos, un cliente tiene una identificación única que se define a continuación como idEmail = id. Estoy tratando de encontrar al cliente en la base de datos con esta identificación y luego reemplazo su contraseña cifrada, pero tengo problemas con la sintaxis SQL porque no lo estoy. estoy seguro de cómo puedo dar un valor a la "contraseña" y "emailId" en la consulta en lugar de establecer "contraseña" en "contraseña" donde "id" = "emailId" y no el valor real de la variable emailId:
app.post("/reset_password/:id/:token", (req, res, next) => { const { id, token} = req.params; const idEmail = id; const {password, password2} = req.body; db.query("SELECT * FROM user WHERE id = ?", [idEmail], async (error, results) => { if (id != results[0].id) { res.send("Invalid id" + id + results[0].id) return } const secret = JWT_SECRET + results[0].password try { const payload = jwt.verify(token, secret) if (password === password2) { let hashedPassword = await bcrypt.hash(password, 8); db.query( "UPDATE user SET password = 'password' WHERE id = 'emailId' ", { password: hashedPassword, emailId: idEmail, }, (error, results) => { if (error) { console.log(error); } else {Resuelto con:
db.query("UPDATE user SET password = ? WHERE id = ?", [hashedPassword, idEmail], (error, results)