Estou utilizando a versão do 2 do mysql, porem não estou conseguindo inserir as informações no banco.
Segue codigo:
const mysql = require('mysql2');
class PagamentoDao{
salva(pagamento){
const _connection = mysql.createConnection({
host: 'localhost',
user: 'nodeuser',
password:'node@node',
database: 'payfast'
});
return new Promise(function(resolve,reject) {
_connection.config.namedPlaceholders = true;
_connection.execute( 'INSERT INTO pagamentos SET ? ', pagamento , function(err,results,fields){
if(err){
return reject();
}
return resolve(results);
});
});
}
}
module.exports = PagamentoDao;
Pesquisando na documentação do mysql2 existe a configuração do namedPlaceholders=true, habilitando essa opção eu tenho o seguinte erro retornado:
TypeError: Bind parameters must not contain undefined. To pass SQL NULL specify JS null
at options.values.forEach.val (......)
at Array.forEach (<anonymous>)
at Connection.execute ....
Caso eu remova essa opção do namedPlaceholders, eu tenho o seguinte erro:
TypeError: Bind parameters must be array if namedPlaceholders parameter is not enabled
at Connection.execute ....
Como eu poderia implementar corretamente o insert utilizando essa versão do mysql ?
Obrigado !!!