代码仅显示数据库中的最后一条记录。如何让它显示数据库中的所有记录。我正在尝试使用nodeJS。谢谢
var express = require('express');
var mysql = require('mysql');
var app = express();
var data;
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'music'
});
connection.connect();
connection.query('SELECT * FROM artist', function(err, rows, fields) {
if(err) throw err;
data = JSON.stringify(rows);
for(var i=0;i<rows.length;i++)
data = rows[i].artist_name + " "+rows[i].artist_id;
});
connection.end();
app.get("/artists", function(req,res){
res.send(data);
})
var myServer = app.listen(3000, function(){
console.log("Server listening on port 3000");
})
答案 0 :(得分:0)
您正在为for循环中的每一行分配数据值;也就是说,循环的每次迭代,你替换值。而不是使用赋值运算符(=)使用污染物(+ =):
var data = "";
var rowDelimiter = "<br>"; // Or whatever you want
然后:
data += rows[i].artist_name + " "+rows[i].artist_id + rowDelimiter;