我正在使用express插入/列出来自mysql数据库的一些记录。一切正常(插入/选择),但是插入完成后如何呈现列表功能?我必须重新调用 select 语句吗?
var mysql = require('mysql');
exports.create = function(req, res) {
var connection = mysql.createConnection({user: 'root', password: 'password', database: 'test'});
connection.query('INSERT INTO wall (message) VALUES ("' + req.body.message + '")', function(err, result) {
if (err)
throw err
// is this correct? <===
connection.query('SELECT * FROM wall', function(err, rows) {
if (err)
throw err
if (rows)
res.render('wall', {title: 'Wall', data: rows});
});
// end
connection.end();
});
};
exports.list = function(req, res) {
var connection = mysql.createConnection({user: 'root', password: 'password', database: 'test'});
connection.query('SELECT * FROM wall', function(err, rows) {
if (err)
throw err
if (rows)
res.render('wall', {title: 'Wall', data: rows});
});
connection.end();
};
最佳答案
是的,您确实必须再次SELECT
,并且您的代码通常是正确的。我会重构 list
和您所询问的部分之间的共同部分,我不会在源文件中列出用户和密码,并进行其他细微修改,但通常它是正确的。
关于mysql - Nodejs-Express-Mysql : render view after post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19077592/