Я пытаюсь получить данные поста от почтальона, который представляет собой несколько массивов данных, но не может заставить их войти в базу данных. Если я сделаю жесткий код массива поста, он попадет в базу данных, но не динамически.
index.js
/* POST home page. */
router.post('/', function (req, res) {
const sql = require('../models/db.js');
let data = req.param('data');
console.log(data);
const sqlstatement = "INSERT INTO Sales (user_id, type, amount) VALUES (?)";
sql.query(sqlstatement, [data], function (err, res) {
if(err) {
console.log("error: ", err);
}
else{
console.log(res.insertId);
}
});
res.send(data);
});
db.js
'user strict';
const mysql = require('mysql');
//local mysql db connection
let connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'api'
});
connection.connect(function(err) {
if (err) throw err;
});
module.exports = connection;
данные почтальона
[{"key":"data","value":"[[111, 'net', 1234],[111, 'gross', 1234]]\n","description":"","type":"text","enabled":true}]
ошибка консоли
code: 'ER_BAD_FIELD_ERROR',
errno: 1054,
sqlMessage:
"Unknown column '[[111, 'net', 1234],[111, 'gross', 1234]]' in 'field list'",
sqlState: '42S22',
index: 0,
sql:
"INSERT INTO Sales (user_id, type, amount) VALUES (`[[111, 'net', 1234],[111, 'gross', 1234]]`)" }