在节点 js 中插入多个文本单个文本区域



我如何使用nodejs,mysql,forEach尝试使用唯一ID将电子邮件保存在我的BD中,使用textarea标签,基于这个问题

使用单个文本区域将多封电子邮件插入 mysql

在 JavaScript 中对数组进行 for-each

JavaScript 在非字母数字上拆分,在开始时保留 Delemiters

<form class="" action="/registration/instudent/{{id_school}}/{{mat}}/{{grade}}" method="post">
<textarea name="email" ></textarea>            
<button class="btn btn-lg">Save</button>
</form>

使用 PHP base 中的示例,在我的文件示例中.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('rn');
//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('/');
});

如果我尝试通过异步执行循环来保存所有变量,则发现以下错误。

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)");

在我的数据库中,我只看到空白字段,有人可以帮助我或给我一个指南,让我知道我做错了什么。

非常感谢您的帮助,您告诉我 tadman 以这种方式正确插入到我的数据库中是正确的。

db.query('INSERT INTO date set ?', uStudent)

我设法插入数据的正确方法是在这个问题上帮助我

为什么这个对象的"forEach 不是函数"?

然后我的代码看起来像这样,我希望它有所帮助,因为我几天来一直在尝试使用 forEach 保存在数据库中。

router.post('/instudent/:id_school/:mat/:grade', isLoggedIn, async (req,res) => {
const { id_school, mat, grade } = req.params;
const { email } = req.body;
var uStudent = {
id_school,
mat,
grade
}
Object.keys(uStudent).forEach(function (key){
console.log(uStudent[key]);
db.query('INSERT INTO date set ?', uStudent);
});
//res.redirect('/');
});

相关内容

最新更新