EJS响应中的 Rows不是可迭代的



你好,我在我的EJS响应文件中得到一个错误,我试图显示我的表单数据,向服务器端数据库发出请求,我得到这个错误,这里是表单代码和服务器端

<body>

<form  method="POST" action="/user/post">
<table>
<tr>
<td>Username</td>
<td><input type="text" name="username" ></td>
</tr>

<tr>
<td colspan="2"><input type="submit" value="Save" ></td>
</tr>
</table>
</form>   

</body>
<html>
<head>

<title>Message Logs</title>
</head>
<body>
<div>
<% for (var row of rows) { %>
<div><%= row.username %> <%= row.message %></div>    
<% } %>
</div>
</body>
</html>

app.post('/user/post',function(req,res){
db.all(`SELECT * FROM messages WHERE name='${req.body.username}'`, (err, rows) => {
if (err) {
console.error(err.message);
}

res.render('userinfo', { rows: rows });
});

我希望它显示我的数据库查询它是一个sqlite3数据库和表名是:消息与字段:用户名,消息

发现错误只是一个语法错误,数据库查询应该是WHERE username not WHERE name

最新更新