向数据库发送单选按钮值



我创建了一个表单来应用值,然后插入到表中。我需要帮助将单选按钮值发送到数据库

nodejs /ejs文件

<label class="container" >5
<input type="radio" name="_rate" id="_rate" value="5" required >
<span class="checkmark"></span>
</label>
<label class="container">3
<input type="radio" name="_rate" id="_rate" value="3">
<span class="checkmark"></span>
</label>
<label class="container">1
<input type="radio" name="_rate" id="_rate" value="1">
<span class="checkmark"></span>
</label>

app.js

var _rate= req.body._rate;

var sql = `INSERT INTO [Test2] (rate) VALUES ('${_rate}')`;

表中的值始终显示null!!

数据库字段中需要什么类型的数据
在任何情况下,请使用准备好的语句来避免类型错误,如:
INSERT INTO [Test2] (rate) VALUES (?)

Ejs:

<form method="POST" action="/">
<label class="container" >5
<input type="radio" name="_rate" id="_rate" value="5" required >
<span class="checkmark"></span>
</label>
<label class="container">3
<input type="radio" name="_rate" id="_rate" value="3">
<span class="checkmark"></span>
</label>
<label class="container">1
<input type="radio" name="_rate" id="_rate" value="1">
<span class="checkmark"></span>
</label>
</form>

Nodejs:

const express = require('express');
const mysql = require('mysql2');
const app = express();
const db = mysql.createConnection({
host: //'localhost' or you hostname,
user: //'root' or your username,
password: //yourpassword,
database: //'database name',
})
app.post("/", async (req, res)=>{
const _rate = req.body._rate
await db.query("INSERT INTO Test2 (rate) VALUES (`${_rate}`)", (err, result) {
if (err) {
//Handle error
} else {
//Do whatever you want with `result`
}
})
app.listen(3000, ()=>{
console.log('Server started working on port 3000')
})

最新更新