2017-12-04 6 views
0

다음 코드Node.js를 MYSQLparse 오류

db.query("SELECT * FROM ?", [req.params.Tables_in_my_db], function(error, rows, fields) { 
    if (error) 
     throw error; 

    //code... 

    db.end(); 
}); 

에게이 내가 콘솔 req.params.Tables_in_my_db에 로그인하면 나는,

Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Copy'' at line 1

그러나 다음과 같은 오류를 얻을이 코드를 실행하면 , 나는 String Copy를 얻는다. 이 문제를 어떻게 해결할 수 있습니까?

감사합니다.

+0

'복사'라는 테이블을 찾으시겠습니까? –

+0

데이터베이스의 각 테이블마다 다른보기를 만들려고합니다. 복사는 해당 테이블 중 하나입니다. – fhernan22

답변

0

"?" (SELECT * FROM table_name WHERE column_name =?), 동적 테이블을 가지려면 if 문을 사용하고 원하는 테이블을 문자열에 연결 한 다음 해당 문자열을 첫 번째 매개 변수로 전달하십시오. db.query().

var query = "SELECT * FROM"; 
if (req.params.table_code == 1) { 
    query += " your_desired_table"; 
} else if (req.params.table_code == 2) { 
    query += " another_desired_table"; 
} else { 
    //return an error here to avoid sql injection, use a code for each of 
    //the table you only want to use 
} 

db.query(query, .... 
+0

지금 보니, 이것이 내가 필요로했던 바로 그 도움에 감사드립니다. – fhernan22

+0

정답으로 표시하는 것을 잊지 마시기 바랍니다 :) 감사합니다. –