node-mysql数组转义只返回第一个元素?

时间:2013-01-17 06:12:11

标签: javascript node.js node-mysql

我正在使用node.js编写一个HTTP服务器,用于与客户端交互并将它们发送的数据存储到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 个答案:

答案 0 :(得分:1)

如果你有3个变量,应该有3个? 换句话说,您的SQL查询应如下所示:INSERT INTO systems VALUES ( ?, ?,? ) 如果您不确定订单,并且想要指定订单,则应将查询更改为以下内容:INSERT INTO systems(field1, field2, field3) VALUES ( ?, ?,? )其中字段是MySQL表中的实际字段。