2014-04-17 2 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로 끝날 것입니다. 예 : 서브 우퍼 인 (*, 'bar) – mscdex

+0

에서 SELECT * * 리더 보드에서 주제 이름을 사용자가 제출하는 경우 SQL 인젝션 공격을 막기 위해 먼저 올바르게 이스케이프 처리해야합니다. – mscdex

+0

@mscdex 정렬되었습니다. 감사합니다. –

관련 문제