I'm traying to select something from database and I have to use 2 bind params. With one param it works but with two i get this error "Undefined binding(s) detected when piling RAW query" error and "Expected 1 bindings, saw 2" in nodejs console.
How to use 2nd bind param?
Code that works:
knex.with('with_alias', knex.raw('select * from "lyrics" where "for_id" = "1" and "var" = ?', var)).select('*').from('with_alias')
I also tried but it didn't worked
knex.with('with_alias', knex.raw('select * from "lyrics" where "for_id" = ? and "var" = ?', var1, var2)).select('*').from('with_alias')
Thanks for help and sorry for bad english!
I'm traying to select something from database and I have to use 2 bind params. With one param it works but with two i get this error "Undefined binding(s) detected when piling RAW query" error and "Expected 1 bindings, saw 2" in nodejs console.
How to use 2nd bind param?
Code that works:
knex.with('with_alias', knex.raw('select * from "lyrics" where "for_id" = "1" and "var" = ?', var)).select('*').from('with_alias')
I also tried but it didn't worked
knex.with('with_alias', knex.raw('select * from "lyrics" where "for_id" = ? and "var" = ?', var1, var2)).select('*').from('with_alias')
Thanks for help and sorry for bad english!
Share Improve this question asked Jan 28, 2019 at 17:59 Pavel ProdanPavel Prodan 692 silver badges7 bronze badges1 Answer
Reset to default 7Try to pass two variables in an array:
knex.with('with_alias', knex.raw('select * from "lyrics" where "for_id" = ? and "var" = ?', [var1, var2])).select('*').from('with_alias')
It should work.