У меня есть запрос, но я не уверен, как разрешить NodeJS вводить его с переменными ... как мне этого добиться? Как лучше всего?

var sql = (
    "INSERT INTO stats_tmp (
        id, 
        timestamp, 
        campaign_nm, 
        calls, 
        seconds, 
        answered, 
        failure, 
        dnc, 
        amd, 
        transfers, 
        transfer_seconds, 
        cost
    ) VALUES (" 
        + estarr[0].id + ", " 
        + estarr[0].timestamp + ", " 
        + estarr[0].name + ", " 
        + estarr[1].calls + ", " 
        + estarr[1].seconds + ", " 
        + estarr[1].answers + ", " 
        + estarr[1].failures + ", " 
        + estarr[1].dncs + ", " 
        + estarr[1].amd + ", " 
        + estarr[1].transfers + ", " 
        + estarr[1].transfers + ", " 
        + estarr[1].transferseconds + ", "
        + estarr[1].cost 
    + ")"
);
1
Christopher 15 Окт 2019 в 00:05

1 ответ

Лучший ответ

Вы хотите использовать подготовленные операторы.

Рассмотреть:

var query = connection.query(
    'INSERT INTO stats_tmp (
        id, 
        timestamp, 
        campaign_nm, 
        calls, 
        seconds, 
        answered, 
        failure, 
        dnc, 
        amd, 
        transfers, 
        transfer_seconds, 
        cost
    ) VALUES (
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?,
        ?
    )',
    [
        estarr[0].id,
        estarr[0].timestamp,
        estarr[0].name,
        estarr[1].calls,
        estarr[1].seconds,
        estarr[1].answers,
        estarr[1].failures,
        estarr[1].dncs,
        estarr[1].amd,
        estarr[1].transfers,
        estarr[1].transfers,
        estarr[1].transferseconds,
        estarr[1].cost
    ],
    function(err, results) {    
      ...
});
0
GMB 14 Окт 2019 в 21:21