Как я работаю с nodejs, mysql, forEach, пытаясь сохранить электронную почту на моем BD с уникальным идентификатором, используя тег textarea, на основе этого вопроса
Вставить несколько по электронной почте mysql, используя одну текстовую область
For-each над массивом в JavaScript
javascript, разделенных на не-alphanumeri c a keep deletemiters при запуске
<form class="" action="/registration/instudent/{{id_school}}/{{mat}}/{{grade}}" method="post">
<textarea name="email" ></textarea>
<button class="btn btn-lg">Save</button>
</form>
Используя пример в базе PHP, в моем примере файла. js У меня есть этот код, попытайтесь сохранить только значение электронной почты: мой тег textarea.
router.post('/instudent/:id_school/:mat/:grade', isLoggedIn, async (req,res) => {
const { id_school, mat, grade } = req.params;
const { email } = req.body;
const e = email.match('\r\n');
//var e = ["a@gmail.com", "b@gmail.com", "c@gmail.com"];
//const uStudent = {
// id_school,
// mat,
// grade,
// email
// };
e.forEach(function(email, indice, array) {
// await db.query('INSERT INTO date set ?', [uStudent]);
db.query("INSERT INTO date (email) VALUES (email)");
console.log('this is my email:',email);
});
//res.redirect('/');
});
Если я пытаюсь сохранить все переменные, выполняя l oop асинхронно, я нахожу следующую ошибку.
const uStudent = {
id_school,
mat,
grade,
email
};
await db.query('INSERT INTO date set ?', [uStudent]);
UnhandledPromiseRejectionWarning: TypeError: uStudent.forEach is not a function
Если я вставляю два письма таким образом.
db.query("INSERT INTO date (email) VALUES (email)");
В моей базе данных я вижу только пустые поля, кто-то может помочь мне или дать мне руководство, чтобы узнать, что я делаю неправильно.