0
我想用where子句查詢mysql數據庫如下。如何使用動態數組查詢mysql數據庫where clause使用動態數組
這裏popularTopicsNames是一個動態數組,其長度和元素各不相同。
var scoreQuery=connection.query('SELECT * FROM LEADERBOARD WHERE SUBTOPIC IN ('+popularTopicsNames+')', function(err,result,fields){
if(err) throw err;
else{
console.log(result);
}
你錯過了開頭和結尾右括號內的單引號。如果沒有它們,最終會導致數組中的多個項目無效的SQL。例如:SELECT * FROM LEADERBOARD中的SUBTOPIC IN(foo','bar) – mscdex
另外,如果主題名稱是用戶提交的,那麼應該先正確地轉義它們以防止SQL注入攻擊。 – mscdex
@mscdex分類,謝謝。 –