Как хранить значения массива в разных столбцах в nodejs

Я новичок в 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 функция.

0

Решение

для динамического попробуйте это

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

Другие решения

Вы доверяете своему вводу пользователя? Вы дезинфицируете данные?

Для Node Mysql, почему бы вам не использовать заполнители и просто передать массив в качестве параметров?

например

   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

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector