在使用Node.js与MySQL交互时,插入多个复选框选择通常涉及到将前端表单中的复选框值传递到后端,并将这些值存储到数据库中。复选框通常用于表示一组选项中的多个选择。
假设我们有一个表单,用户可以选择多个兴趣爱好,这些兴趣爱好将被存储到MySQL数据库中。
<form action="/submit" method="post">
<label><input type="checkbox" name="hobbies[]" value="reading"> 阅读</label>
<label><input type="checkbox" name="hobbies[]" value="sports"> 运动</label>
<label><input type="checkbox" name="hobbies[]" value="music"> 音乐</label>
<button type="submit">提交</button>
</form>
const express = require('express');
const mysql = require('mysql');
const app = express();
app.use(express.urlencoded({ extended: true }));
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});
connection.connect();
app.post('/submit', (req, res) => {
const hobbies = req.body.hobbies;
const userId = 1; // 假设用户ID为1
if (!hobbies || hobbies.length === 0) {
return res.status(400).send('请选择至少一个兴趣爱好');
}
const query = 'INSERT INTO user_hobbies (user_id, hobby) VALUES ?';
const values = hobbies.map(hobby => [userId, hobby]);
connection.query(query, [values], (error, results) => {
if (error) {
console.error(error);
return res.status(500).send('数据库插入失败');
}
res.send('兴趣爱好已成功保存');
});
});
app.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000');
});
name
属性设置为数组形式(如hobbies[]
),并在后端正确解析这些值。通过以上步骤和代码示例,你应该能够成功地将多个复选框选择插入到MySQL数据库中。
领取专属 10元无门槛券
手把手带您无忧上云