#mysql #node.js #express
Вопрос:
Я работаю над формой смены пароля на веб-сайте .Я хочу проверить, соответствует ли хранилище паролей в базе данных текущему запросу на пароль из формы изменения пароля. Я использую node-js и mysql. Я хочу, чтобы вывод был неверным, если текущий пароль не совпадает с паролем пользователя, вошедшего в систему, или если он совпадает, то следует обновить значение пароля этого пользователя в базе данных Ниже мой код:
файл контроллера:
editprofileService.changePassword(data,(err,result)=gt;{ if(err){ console.log(err); return res.status(400).send({ success: 0, data: "Bad request" }); } return res.redirect("/edit-profile") }) }
файл службы:(здесь выполняется работа по извлечению данных, связанная с моим проектом)
exports.changePassword = (data, callback) =gt; { db.query(`SELECT Password FROM user WHERE u_id=? `, [data.userid], (error, results, feilds) =gt; { if (error) { return callback(error); } if (results.length gt; 0) { if (data.currentPassword == results[0].Password) { console.log("hello"); db.query( `UPDATE user SET Password=? where u_id=? `, [data.newPassword, data.userid], (error, results, fields) =gt; { if (error) { return callback(error); } if (results.affectedRows gt; 0) { //console.log(results); // return callback(null, "Login success"); console.log(results.affectedRows); console.log(results); return callback(null, "updated successfuly"); } else { return callback("Invalid credentials"); } } ); } } else { return callback("password incorrect"); } }) }
Всякий раз, когда я запускаю код и нажимаю кнопку изменить пароль, он переходит в непрерывный цикл и ничего не возвращает .Его просто повесьте на сервер. Символ буферизации, подобный символу, появляется в строке заголовка.
Комментарии:
1. Я понял ,что не так с кодом .
2. У вас есть опечатка в коде файла службы, строка 4
(error, results, feilds)
.. Этоfields
, верно?3. да, его поля, его опечатка
4. но даже это не дает выхода
5. Когда вы пытаетесь использовать этот код, вы видели, возвращает ли консоль
console.log("hello");
то, что вы поместили в код?