Express 我试图使用准备好的语句插入数组中给定的值

Express 我试图使用准备好的语句插入数组中给定的值,express,mariadb,Express,Mariadb,我试图将数组中给定的值插入表中,其中数组的每个元素都是表中的一列。请记住,这是针对API的,因此数据是通过请求接收的。 以下是我代码中的相关部分: user.model.js: User.create = function (newUser, result) { console.log(Object.values(newUser)); dbConn.query("INSERT INTO user(user_fname, user_name, user_email, user_phone

我试图将数组中给定的值插入表中,其中数组的每个元素都是表中的一列。请记住,这是针对API的,因此数据是通过请求接收的。 以下是我代码中的相关部分: user.model.js:

User.create = function (newUser, result) {
console.log(Object.values(newUser));
dbConn.query("INSERT INTO user(user_fname, user_name, user_email, user_phone, user_is_admin) set ?", Object.values(newUser), function (err, res) {
    if (err) {
        console.log("error: ", err);
        result(err, null);
    } else {
        console.log(res.insertId);
        result(null, res.insertId);
    }
});};
user.controller.js:

exports.create = function (req, res) {
const new_user = new User(req.body);
console.log(req.body);

if (req.body.constructor === Object && Object.keys(req.body).length === 0) {
    res.status(400).send({
        error: true,
        message: 'Please provide all required field'
    });
} else {
    console.log(new_user);
    User.create(new_user, function (err, user) {
        if (err) {
            res.send(err);
        }
        res.json({
            error: false,
            message: "User added successfully!",
            data: user
        });
    });
}};
在最后一段代码中,这里是console.logs的输出:

{
  user_fname: 'toto',
  user_name: 'titi',
  user_email: 'who@where.how',
  user_phone: '1010101010',
  user_is_admin: 'false'
}
User {
  fname: 'toto',
  name: 'titi',
  email: 'who@where.how',
  phone: '1010101010',
  is_admin: 'false'
}
[ 'toto', 'titi', 'who@where.how', '1010101010', 'false' ]
最后但并非最不重要的是,我收到了一条错误消息:

错误:SqlError:(conn=357,no:1064,SQLState:42000)您有一个 SQL语法错误;检查与您的产品相对应的手册 MariaDB服务器版本,以便在“set”toto“附近使用正确的语法 在第1行sql:插入用户(用户名称、用户名、用户电子邮件、, 用户\电话,用户\是否已设置- 参数:['toto','titi','who@where.how“,'1010101010','false']

我很清楚我的语法是错误的,但我似乎找不到任何有效的方法。谢谢您的时间:)

找到了答案! 因此,我认为我的语法是错误的,下面是正确的方法:

User.create = function (newUser, result) {
    console.log(Object.values(newUser));
    dbConn.query("INSERT INTO user(user_fname, user_name, user_email, user_phone, user_is_admin) values(? , ? , ? , ? , ?)", Object.values(newUser), function (err, res) {
        if (err) {
            console.log("error: ", err);
            result(err, null);
        } else {
            console.log(res.insertId);
            result(null, res.insertId);
        }
    });
};