【发布时间】:2020-04-27 18:33:41
【问题描述】:
我使用 postgres sql、nodejs、express
app.get("/topic/create", function(req, res) {
var sql = "SELECT id, title FROM topic";
client.query(sql, function(err, res2) {
console.log(res2.rows);
//res.render("create", { topics: res2.rows });
});
});
这个代码是我的路由器代码 但是当我输入该网址时,它是错误的
error: invalid input syntax for integer: "create" name: 'error', length: 110, severity: 'ERROR', code: '22P02', line: '62',routine: 'pg_atoi'
我不知道原因,因为 sql 在其他 url 上工作,只是 app.get 代码不起作用
//라우팅 작업
app.get("/", function(req, res) {
res.redirect("/topic");
});
app.get("/topic", function(req, res) {
var sql = "SELECT id, title FROM topic";
client.query(sql, function(err, res2) {
if (err) {
console.log(err);
} else {
res.render("view", { topics: res2.rows });
}
});
});
app.get("/topic/:id", function(req, res) {
var id = req.params.id;
var sql1 = "SELECT id, title FROM topic";
var sql2 = "SELECT * FROM topic where id=$1";
client.query(sql2, [id], function(err, res2) {
if (err) {
console.log(err);
} else {
client.query(sql1, function(err, res3) {
if (err) {
console.log(err);
res.status(500).send("Internal Server Error");
} else {
var list = [];
var result = res3.rows;
for (var i = 0; i < result.length; i++) {
list.push(res3.rows[i]);
}
res.render("view", { details: res2.rows, topics: list });
}
});
}
});
});
这是我的路由器代码,它是一样的。这段代码很好用
我不知道为什么只有那个 url 会出错
【问题讨论】:
-
您是否在
/topic/:id之前定义了您的/topic/create路由? -
是的,我做了 /topic/:id
-
@tadman 我在我的问题中添加 /topic/:id 代码
-
whats
$1,你是不是特意定义的 -
标签: node.js postgresql express