2013-01-17 62 views
0

我使用node.js編寫HTTP服務器來與客戶端進行交互,並將它們發送的數據存儲到mysql數據庫中。我正在使用node-mysql模塊與數據庫進行交互。以下是我的代碼片段:node-mysql數組轉義只返回第一個元素?

mysql_conn.query('INSERT INTO systems VALUES (?)', [system.ClientID, 
    system.Application, system['System Information']], function(err, result) { 
    if (err) { 
     cb(err, res); 
    } else { 
     resData = {Status : 'Success'}; 
     cb(null, res, resData); 
    } 
}); 

結果查詢是這樣的:

INSERT INTO systems VALUES ('ED1758FD-1ED7-4907-A4FF-BCA41830124A') 

我傳遞一個數組有三個元素,但只有一個顯示出來查詢。該文件說:

陣列都變成清單,例如: ['a','b']變成'a','b'

我做錯了什麼?我對JavaScript很陌生。請容忍無知,如果有的話。

回答

1

如果你有3個變量,應該有3個? 換句話說,您的SQL查詢應該如下所示:INSERT INTO systems VALUES (?, ?,?) 如果您不確定訂單,並且您想要指定訂單,則應該將查詢更改爲如下所示:INSERT INTO systems(field1, field2, field3) VALUES (?, ?,?)其中字段是表中的實際字段MySQL的。

+0

工程就像一個魅力。雖然沒有在文檔中看到這個。我以爲?將被替換爲一個數組。謝謝:) – anni

+0

是的,你應該提供相同數量的變量?s – Mustafa

相關問題