Express 我试图使用准备好的语句插入数组中给定的值
我试图将数组中给定的值插入表中,其中数组的每个元素都是表中的一列。请记住,这是针对API的,因此数据是通过请求接收的。 以下是我代码中的相关部分: user.model.js: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
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);
}
});
};