使用nodejs将多个复选框选择插入Mysql
我在mysql中插入多个选项时遇到问题。我只能选择一个值,它将被插入到“Weekend”表中,但当我选择多个日期时,它会出错。我不知道如何将输入放入数组并将其插入mysql。感谢您的指导! passport.js使用nodejs将多个复选框选择插入Mysql,mysql,node.js,Mysql,Node.js,我在mysql中插入多个选项时遇到问题。我只能选择一个值,它将被插入到“Weekend”表中,但当我选择多个日期时,它会出错。我不知道如何将输入放入数组并将其插入mysql。感谢您的指导! passport.js var LocalStrategy = require("passport-local").Strategy; var mysql = require('mysql'); var bcrypt = require('bcrypt-nodejs'); var dbconfig = req
var LocalStrategy = require("passport-local").Strategy;
var mysql = require('mysql');
var bcrypt = require('bcrypt-nodejs');
var dbconfig = require('./database');
var connection = mysql.createConnection(dbconfig.connection);
connection.query('USE ' + dbconfig.database);
module.exports = function(passport) {
passport.serializeUser(function(user, done){
done(null, user.id);
});
passport.deserializeUser(function(id, done){
connection.query("SELECT * FROM users WHERE id = ? ", [id],
function(err, rows){
done(err, rows[0]);
});
});
passport.use(
'local-signup',
new LocalStrategy({
firstNameField: 'firstName',
lastNameField: 'lastName',
passReqToCallback: true
},
function(req, firstName, lastName, done){
var Weekdays = req.body.Weekdays;
var newUserMysql = {
firstName: firstName,
lastName: lastName,
Weekdays: Weekdays,
};
var insertQuery = "INSERT INTO users (firstName, lastName, Weekdays) values (?, ?, ?)";
connection.query(insertQuery, [newUserMysql.firstName,newUserMysql.TXDotContact, newUserMysql.lastName,newUserMysql.Weekdays],
function(err, rows){
newUserMysql.id = rows.insertId;
return done(null, newUserMysql);
});
})
);
};
signup.js
<div class="form-group">
<label>Weekday(s):
<div>
<input type="checkbox" name="Weekdays[]" value="Sunday" /> Sunday<br />
<input type="checkbox" name="Weekdays[]" value="Monday" /> Monday<br />
<input type="checkbox" name="Weekdays[]" value="Tuesday" /> Tuesday<br />
<input type="checkbox" name="Weekdays[]" value="Wednesday" /> Wednesday<br />
<input type="checkbox" name="Weekdays[]" value="Thursday" /> Thursday<br />
<input type="checkbox" name="Weekdays[]" value="Friday" /> Friday<br />
<input type="checkbox" name="Weekdays[]" value="Saturday" /> Saturday<br />
</div><br />
</label>
</div>
工作日:
星期日
星期一
星期二
星期三
星期四
星期五
星期六
我必须替换var Weekdays=req.body.Weekdays;与下面的内容。控制台正在拾取选择,但我无法将数组插入表中。我必须使用JSON.stringify格式化它
for (var Weekdays in req.body.Weekdays) {
if (req.body.Weekdays) {
items = req.body.Weekdays;
Weekdays = JSON.stringify(items).replace(/]|[[]|"/g, '',)
// console.log(items);
}
}