如何在nodejs中的不同列中存储数组值

时间:2017-11-01 10:50:25

标签: php mysql arrays node.js

我是NodeJS / Mysql的新手。我有一个字符串数组,我想存储在表的不同列中。

没有。列数= 5,数组大小= 5,例如[val1,val2 ...]

  con.connect(function(err) {
    if (err) throw err;
    console.log("Connected!");

    //Insert a record in the "pooltable" table:
    var sql = "INSERT INTO pooltable (`t1`, `t2`, `t3`, `t4`, `t5`) VALUES (array)";
    con.query(sql, function (err, result) {
      if (err) throw err;
      console.log("1 record inserted");
    });  
   con.end();
  });

问题是我无法将数组拆分为5个不同的值,如php implode function。

2 个答案:

答案 0 :(得分:0)

动态试试这个

var arr=JSON.stringify(array).substr(1).slice(0, -1);
    var sql = 'INSERT INTO pooltable (`t1`, `t2`, `t3`, `t4`, `t5`) VALUES ("'+arr+'")';

答案 1 :(得分:0)

你相信你的用户输入吗?你在清理数据吗?

对于Node Mysql,为什么不使用占位符并将数组作为参数传递?

e.g

   con.query("INSERT INTO pooltable (`t1`, `t2`, `t3`, `t4`, `t5`) VALUES (?,?,?,?,?)", arr, (err,results,fields) => {
       if(err) {return //or do something }
        // do something else
    })

您可以在文档https://github.com/mysqljs/mysql#escaping-query-values

中找到更多信息