2017-07-07 96 views
0

我最近在我的Ubuntu 16.04上安裝MySQL。而且我已經成功已經能夠使用的命令在命令提示符下創建表,並執行命令,如問題與MySQL節點js

select * from articles 

然而,當我從node.js運行從.js文件中的代碼問題出現。命令行之後就凍結了。在下面的圖片,在右側的終端是一個調用select.js文件與節點,而在左邊的一個手動調用select * from articles

enter image description here

有趣的是,當我使用insert.js文件,同樣的事情發生在右邊的終端但是這條線被插入(我可以用左邊的終端手動驗證)。

問題: 爲什麼會在右邊的終端無法完成執行,並在select * from articles的情況下不顯示在文章表中的內容?

+0

能否請您複製快照中的代碼粘貼到一個小提琴或SO本身? –

+0

請勿包含文字圖像。相反,請將相關文本複製到問題中。這增加了可搜索性,防止圖像在某些時候消失,*和*允許其他人幫助您解決問題,因爲他們可以在需要時複製和粘貼。 – mscdex

+0

在控制檯日誌中使用'result'而不是'query.sql' –

回答

2

這是因爲你沒有在選擇後關閉數據庫連接,所以在事件循環中有一些東西。

添加connection.end();console.log(query.sql);console.log(result);顯示結果

+0

我試過這樣做,但我得到'TypeError:connection.close不是一個函數' – Webeng

+0

我更新了我的答案,對不起錯誤的方法:) –

+0

謝謝你,工作:) – Webeng

1

請使用result變量在callback以及它給你查詢的確切回覆。

它應該是這樣的

var query = connection.query(<sql query>, function (err, res){ 
    console.log(err); 
    console.log(result); 
}); 
+0

謝謝你的輸入Atul,upvoted你的答案 – Webeng