2014-04-17 42 views

回答

2

如果它只是一個數組,那麼你試圖把它作爲一個字符串傳遞,這是行不通的。

嘗試

var scoreQuery = connection.query("SELECT * FROM LEADERBOARD WHERE SUBTOPIC IN ('" + popularTopicsNames.map(mysql.escape).join("','") + "')", 
    function(err, result, fields) { 
     if (err) { 
      throw err; 
     } else { 
      console.log(result); 
     } 
    }); 
+0

你錯過了開頭和結尾右括號內的單引號。如果沒有它們,最終會導致數組中的多個項目無效的SQL。例如:SELECT * FROM LEADERBOARD中的SUBTOPIC IN(foo','bar) – mscdex

+0

另外,如果主題名稱是用戶提交的,那麼應該先正確地轉義它們以防止SQL注入攻擊。 – mscdex

+0

@mscdex分類,謝謝。 –