2017-09-04 25 views
-1

關於NodeJs-MySQL的W3School教程:SELECT cmmand不提供正確格式的輸出。在每行輸出「RowDataPacket」字出現。如何避免它?NodeJs-MySQL SELECT沒有返回正確的輸出

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
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 
+0

如何修改 –

+0

沒有改變這樣我的問題上面(昨日)公佈提到我的代碼。你只需要像上面告訴你的那樣使用它,即'result [0] .id'。 – RaghavGarg

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); 
} 
    }); 
}); 
+0

我試過你的代碼。 「RowDataPacket」沒有出現在輸出中。然而,我期待在表格形式的結果,但我得到的結果如下: –

+0

我試過你的代碼。現在「RowDataPacket」沒有出現在輸出中。但是,我輸出的結果不是表格形式,而是如下所示:Name = John address = Highway 71 –

+0

ID也沒有出現在每行中? –