NodeJs-MySQL上的W3School教程:SELECT cmmand不提供正确格式的输出。在每行输出" RowDataPacket"这个词出现了。如何避免呢?
C:\Users\Raju>node demo_db_select.js
[ RowDataPacket { id: 1, name: 'John', address: 'Highway 71' },
RowDataPacket { id: 2, name: 'Peter', address: 'Lowstreet 4' },
我使用了以下代码:
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword",
database: "mydb"
});
con.connect(function(err) {
if (err) throw err;
con.query("SELECT * FROM customers", function (err, result, fields) {
if (err) throw err;
console.log(result);
});
});
答案 0 :(得分:0)
var data = [
RowDataPacket { id: 1, name: 'John', address: 'Highway 71' },
RowDataPacket { id: 2, name: 'Peter', address: 'Lowstreet 4' }
]
这意味着内部对象是类RowDataPacket
的instane。你仍然可以简单地使用它:
data[0].id // 1
data[0].name // John
data[1].name // Peter
答案 1 :(得分:0)
您正在执行MySQL查询并将选定的行和列存储在结果变量中。实际上结果是一个对象。因此,运行for循环并打印我在代码中编写的所有值。
试用此代码:
var mysql = require('mysql');
var con = mysql.createConnection({ host: "localhost", user: "yourusername", password: "yourpassword", database: "mydb" });
con.connect(function(err) {
if (err) throw err;
con.query("SELECT * FROM customers", function (err, result, fields) {
if (err) throw err;
for(let i in result){
console.log("id="+result[i].id);
console.log("Name="+result[i].name);
console.log("address="+result[i].address);
}
});
});