12

So I am currently trying to make a query in Node.js:

// friends is an array object
db.all('SELECT email ' +
       'FROM users' +
       'WHERE email in ?', friends, function(err, rows) {
           if (!err) {

I know that you can pass in an array of parameters for every '?' symbol, but is it possible to use the IN operator in this case? If not, should I do string concatenation or prepared statements?

user1927638
  • 1,133
  • 20
  • 42

2 Answers2

17
db.all('SELECT email ' +
       'FROM users' +
       'WHERE email in ( ' + friends.map(function(){ return '?' }).join(',') + ' )', 
       friends, 
       function(err, rows) {
           if (!err) {
Ben
  • 54,723
  • 49
  • 178
  • 224
asbel
  • 194
  • 1
  • 5
0

// friends is an array object
db.all(`SELECT email FROM users WHERE email in ${ friends.map(() => "?").join(",") }`,
    friends, (err, rows) => {
    if (!err) {}
})
Glowin
  • 4,906
  • 1
  • 16
  • 10