Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 插入具有唯一id节点js的电子邮件_Mysql_Node.js_Foreach - Fatal编程技术网

Mysql 插入具有唯一id节点js的电子邮件

Mysql 插入具有唯一id节点js的电子邮件,mysql,node.js,foreach,Mysql,Node.js,Foreach,基于这个问题,我是如何使用nodejs、mysql和forEach,使用textarea标记,用唯一的id将电子邮件保存在我的数据库中的 保存到我的数据库时,错误地插入文本。 在我的数据库中,它以这种方式插入我 有没有指南可以让我知道我做错了什么,以及textarea标签中的每封电子邮件都有一个唯一的id 正确形式 我找不到您在代码中的何处设置了要保存的电子邮件值 这里有一些问题: 您正在基于对象键进行循环(这是正确的行为吗) 您在哪里更新了uStudent以更新其电子邮件 我认为您应该

基于这个问题,我是如何使用nodejs、mysql和forEach,使用textarea标记,用唯一的id将电子邮件保存在我的数据库中的

保存到我的数据库时,错误地插入文本。 在我的数据库中,它以这种方式插入我

有没有指南可以让我知道我做错了什么,以及textarea标签中的每封电子邮件都有一个唯一的id

正确形式

我找不到您在代码中的何处设置了要保存的
电子邮件

这里有一些问题:

  • 您正在基于对象键进行循环(这是正确的行为吗)
  • 您在哪里更新了
    uStudent
    以更新其电子邮件
  • 我认为您应该根据拆分的电子邮件进行循环:

    router.post('/instudent/:id_school/:mat/:grade', isLoggedIn, async (req,res) => {
        const { id_school, mat, grade } = req.params;
        const { emails } = req.body;
    
        const uStudent = {
            id_school,
            mat,
            grade
        };
    
        // loop base on email
        let _emails = emails.split(/\r?\n/);
        _emails.forEach(email => {
    
            // update uStudent email field
            uStudent.email = email;
    
            // insert the uStudent
            db.query('INSERT INTO date set ?', uStudent);
        });
    });
    
    

    我想数据是像
    一样进来的。”example1@gmail.com\例如,2.gmail.com\n.“
    这意味着您需要在
    \n
    上拆分并迭代该数组。我正在尝试使用拆分
    常量x=uStudent.split(\n)属性,但它告诉我:UnhandledPromisejectionWarning:TypeError:无法读取未定义的属性“split”,您必须为我们提供更多关于该属性的上下文。我假设它应该是
    email.split(/\n/)
    ,但这只是猜测,不知道您接收它的格式。目前,正如我所展示的,代码以这种方式保存数据。[我想要的是以这种方式插入数据[谷歌文档链接没有帮助。最好让你的问题保持独立,这样人们就不需要跳过来获取回答问题所需的所有信息。我已经更正了代码,对一些评论代码表示歉意,我没有上传正确的代码,但电子邮件是与其他变量一起传递的。[我得到这个错误类型错误:uStudent.split不是一个function@sheila.ars你不应该拆分学生,而应该拆分
    电子邮件
    。然后循环它们,将这些电子邮件插入不同的行。请检查我的答案。你是对的,一旦你提到你不应该拆分
    学生
    ,而是拆分
    电子邮件,我更明白了,非常感谢您的帮助和耐心。
    
    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,
        email
    }
    
    Object.keys(uStudent).forEach(function (key){
        console.log(uStudent[key]);
        db.query('INSERT INTO date set ?', uStudent);
    });
      //res.redirect('/');
    });
    
    router.post('/instudent/:id_school/:mat/:grade', isLoggedIn, async (req,res) => {
        const { id_school, mat, grade } = req.params;
        const { emails } = req.body;
    
        const uStudent = {
            id_school,
            mat,
            grade
        };
    
        // loop base on email
        let _emails = emails.split(/\r?\n/);
        _emails.forEach(email => {
    
            // update uStudent email field
            uStudent.email = email;
    
            // insert the uStudent
            db.query('INSERT INTO date set ?', uStudent);
        });
    });