我有一个问题插入表中的数据从我的超文本标记语言形式在网站上.如果你能帮助我,我会很感激.这里是我的代码:
用户. js:
const express = require("express");
const router = express.Router();
const db = require("../database");
router.get("/form", (req, res, next) => {
res.render("users.ejs");
});
router.post("/create", (req, res, next) => {
let userDetails = req.body;
let sql = "insert into users set ?";
db.query(sql, userDetails, (err, results, fields) => {
if (err) throw err;
console.log("user data inserted successfully");
});
res.redirect("back");
});
module.exports = router;
用户. ejs:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<div class='user-detail'>
<h2>create user data</h2>
<form action="/users/create" method="post">
<label>Full Name</label>
<input type="text" placeholder="enter fullname" name="fullName" required>
<label>Email Address</label>
<input type="email" placeholder="enter email address" name="emailAddress" required>
<label>City</label>
<input type="text" placeholder="enter full city" name="city">
<label>Country</label>
<input type="text" placeholder="enter full country" name="country">
<button type="submit">Submit</button>
</form>
</div>
</body>
</html>
错误:
PSC:\用户\yaran\桌面\mysql. ejs.node
如果您的req. body
真的只包含一个变量,则必须将其放在方括号中。
const express = require("express");
const router = express.Router();
const db = require("../database");
const bodyParser = require('body-parser');
router.use(bodyParser.urlencoded({ extended: true }));
router.get("/form", (req, res, next) => {
res.render("users.ejs");
});
router.post("/create", (req, res, next) => {
let userDetails = req.body;
console.log(userDetails);
let sql = "insert into users set ?";
db.query(sql, [userDetails], (err, results, fields) => {
if (err) throw err;
console.log("user data inserted successfully");
});
res.redirect("back");
});
module.exports = router;
在'?'附近使用的语法在第1行
似乎来自:
insert into users set ?
我看到2个问题:
db. query()
替换 "?". (学习node.js more)